bhl-forms 0.7.2 → 0.7.4

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 (101) hide show
  1. package/dist/bhl-forms.es.js +551 -543
  2. package/dist/bhl-forms.iife.js +4 -4
  3. package/dist/bhl-forms.modern.es.js +649 -649
  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 +1459 -1151
  8. package/dist/forms/accidentsAndInjuries.iife.js +1 -1
  9. package/dist/forms/accidentsAndInjuries.json +1 -1
  10. package/dist/forms/appraisals.es.js +138 -137
  11. package/dist/forms/appraisals.iife.js +1 -1
  12. package/dist/forms/business.es.js +1432 -1149
  13. package/dist/forms/business.iife.js +1 -1
  14. package/dist/forms/business.json +1 -1
  15. package/dist/forms/childAndFamily.es.js +1327 -1043
  16. package/dist/forms/childAndFamily.iife.js +1 -1
  17. package/dist/forms/childAndFamily.json +1 -1
  18. package/dist/forms/childAndFamilySingle.es.js +1526 -1378
  19. package/dist/forms/childAndFamilySingle.iife.js +1 -1
  20. package/dist/forms/childAndFamilySingle.json +1 -1
  21. package/dist/forms/civilLawsuit.es.js +1998 -1807
  22. package/dist/forms/civilLawsuit.iife.js +1 -1
  23. package/dist/forms/civilLawsuit.json +1 -1
  24. package/dist/forms/coins.es.js +138 -137
  25. package/dist/forms/coins.iife.js +1 -1
  26. package/dist/forms/contracts.es.js +1347 -1050
  27. package/dist/forms/contracts.iife.js +1 -1
  28. package/dist/forms/contracts.json +1 -1
  29. package/dist/forms/criminal.es.js +1830 -1711
  30. package/dist/forms/criminal.iife.js +1 -1
  31. package/dist/forms/criminal.json +1 -1
  32. package/dist/forms/divorce.es.js +1539 -1385
  33. package/dist/forms/divorce.iife.js +1 -1
  34. package/dist/forms/divorce.json +1 -1
  35. package/dist/forms/employmentAndWorkplace.es.js +1831 -1678
  36. package/dist/forms/employmentAndWorkplace.iife.js +1 -1
  37. package/dist/forms/employmentAndWorkplace.json +1 -1
  38. package/dist/forms/generalHomeImprovement.es.js +1361 -1975
  39. package/dist/forms/generalHomeImprovement.iife.js +1 -1
  40. package/dist/forms/generalHomeImprovement.json +1 -1
  41. package/dist/forms/generalHomeImprovementThankYou.es.js +1361 -1975
  42. package/dist/forms/generalHomeImprovementThankYou.iife.js +1 -1
  43. package/dist/forms/generalHomeImprovementThankYou.json +1 -1
  44. package/dist/forms/generalLegal.es.js +3035 -2535
  45. package/dist/forms/generalLegal.iife.js +1 -1
  46. package/dist/forms/generalLegal.json +1 -1
  47. package/dist/forms/generalLegalJustAnswer.es.js +3214 -2872
  48. package/dist/forms/generalLegalJustAnswer.iife.js +1 -1
  49. package/dist/forms/generalLegalJustAnswer.json +1 -1
  50. package/dist/forms/generalLegalPopUnder.es.js +3035 -2535
  51. package/dist/forms/generalLegalPopUnder.iife.js +1 -1
  52. package/dist/forms/generalLegalPopUnder.json +1 -1
  53. package/dist/forms/generalLegalPopUnderSingle.es.js +3214 -2872
  54. package/dist/forms/generalLegalPopUnderSingle.iife.js +1 -1
  55. package/dist/forms/generalLegalPopUnderSingle.json +1 -1
  56. package/dist/forms/generalLegalSingle.es.js +3214 -2872
  57. package/dist/forms/generalLegalSingle.iife.js +1 -1
  58. package/dist/forms/generalLegalSingle.json +1 -1
  59. package/dist/forms/generalLegalThankYou.es.js +2823 -2303
  60. package/dist/forms/generalLegalThankYou.iife.js +1 -1
  61. package/dist/forms/generalLegalThankYou.json +1 -1
  62. package/dist/forms/generalLegalThankYouConsultation.es.js +3214 -2872
  63. package/dist/forms/generalLegalThankYouConsultation.iife.js +1 -1
  64. package/dist/forms/generalLegalThankYouConsultation.json +1 -1
  65. package/dist/forms/harassmentAndDiscrimination.es.js +1423 -1120
  66. package/dist/forms/harassmentAndDiscrimination.iife.js +1 -1
  67. package/dist/forms/harassmentAndDiscrimination.json +1 -1
  68. package/dist/forms/landlordTenant.es.js +1393 -1106
  69. package/dist/forms/landlordTenant.iife.js +1 -1
  70. package/dist/forms/landlordTenant.json +1 -1
  71. package/dist/forms/malpractice.es.js +1529 -1223
  72. package/dist/forms/malpractice.iife.js +1 -1
  73. package/dist/forms/malpractice.json +1 -1
  74. package/dist/forms/mechanics.es.js +701 -530
  75. package/dist/forms/mechanics.iife.js +1 -1
  76. package/dist/forms/mechanics.json +1 -1
  77. package/dist/forms/patentsAndIP.es.js +1828 -1652
  78. package/dist/forms/patentsAndIP.iife.js +1 -1
  79. package/dist/forms/patentsAndIP.json +1 -1
  80. package/dist/forms/realEstate.es.js +2850 -2405
  81. package/dist/forms/realEstate.iife.js +1 -1
  82. package/dist/forms/realEstate.json +1 -1
  83. package/dist/forms/repossession.es.js +1566 -1251
  84. package/dist/forms/repossession.iife.js +1 -1
  85. package/dist/forms/repossession.json +1 -1
  86. package/dist/forms/ssdi.es.js +635 -520
  87. package/dist/forms/ssdi.iife.js +1 -1
  88. package/dist/forms/ssdi.json +1 -1
  89. package/dist/forms/testForm.es.js +409 -371
  90. package/dist/forms/testForm.iife.js +1 -1
  91. package/dist/forms/testForm.json +1 -1
  92. package/dist/forms/testRedirects.es.js +420 -316
  93. package/dist/forms/testRedirects.iife.js +1 -1
  94. package/dist/forms/testRedirects.json +1 -1
  95. package/dist/forms/vets.es.js +138 -137
  96. package/dist/forms/vets.iife.js +1 -1
  97. package/dist/forms/willsAndTrusts.es.js +1426 -1112
  98. package/dist/forms/willsAndTrusts.iife.js +1 -1
  99. package/dist/forms/willsAndTrusts.json +1 -1
  100. package/dist/main.css +1 -1
  101. package/package.json +1 -1
@@ -6,39 +6,46 @@ function HomeImprovementRedirectUrl() {
6
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
7
  }
8
8
 
9
- const DEFAULT_COMMENTS_LABEL = 'Please briefly describe your issue in a few words:';
10
- const DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC = '$getKey($meta, "commentsPlaceholders." + $get(Category).value, $meta.defaultCommentsPlaceholder)';
11
- const DEFAULT_FINAL_HEADLINE_DYNAMIC_LEGAL = '$getKey($meta, "finalHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalHeadline)';
12
- const DEFAULT_FINAL_SUBHEADLINE_DYNAMIC_LEGAL = '$getKey($meta, "finalSubHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalSubHeadline)';
9
+ const DEFAULT_COMMENTS_LABEL = "Please briefly describe your issue in a few words:";
10
+ const DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC =
11
+ '$getKey($meta, "commentsPlaceholders." + $get(Category).value, $meta.defaultCommentsPlaceholder)';
12
+ const DEFAULT_FINAL_HEADLINE_DYNAMIC_LEGAL =
13
+ '$getKey($meta, "finalHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalHeadline)';
14
+ const DEFAULT_FINAL_SUBHEADLINE_DYNAMIC_LEGAL =
15
+ '$getKey($meta, "finalSubHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalSubHeadline)';
13
16
 
14
17
  const DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC_HOME_IMPROVEMENT = DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC;
15
- const DEFAULT_FINAL_HEADLINE_HOME_IMPROVEMENT = 'We Found Contractors Near You';
16
- const DEFAULT_FINAL_SUBHEADLINE_HOME_IMPROVEMENT = 'Compare quotes and save! Please verify your contact info:';
17
- const TCPA_LANGUAGE_HOME_IMPROVEMENT = "By checking this box, I a) agree to the Terms of Use, and b) consent to be contacted by up to 5 contractors, contractor networks, 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. To submit this request without this consent, please call us.";
18
+ const DEFAULT_FINAL_HEADLINE_HOME_IMPROVEMENT = "We Found Contractors Near You";
19
+ const DEFAULT_FINAL_SUBHEADLINE_HOME_IMPROVEMENT = "Compare quotes and save! Please verify your contact info:";
20
+ const TCPA_LANGUAGE_HOME_IMPROVEMENT =
21
+ 'By checking this box, I a) agree to the Terms of Use, and b) consent to be contacted by up to four <a href="/providers" target="_blank" class="t-text-blue-600 t-underline">contractors 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.';
18
22
 
19
23
  const radio = (updates) => {
20
24
  if (updates.name && !updates.id) {
21
25
  updates.id = updates.name;
22
26
  }
23
- return merge({
24
- $formkit: 'radio',
25
- validation: 'required',
26
- validationMessages: {
27
- required: 'Field is required'
27
+ return merge(
28
+ {
29
+ $formkit: "radio",
30
+ validation: "required",
31
+ validationMessages: {
32
+ required: "Field is required",
33
+ },
34
+ optionsClass: "t-pt-3 t-pl-1",
35
+ legendClass: "required",
28
36
  },
29
- optionsClass: 't-pt-3 t-pl-1',
30
- legendClass: 'required'
31
- }, updates)
37
+ updates
38
+ )
32
39
  };
33
40
 
34
41
  const verticalRadio = (updates) => {
35
- updates.legendClass = 'required';
36
- updates.fieldsetClass = '$reset t-flex t-justify-center';
37
- updates.optionsClass = 't-pl-2 t-pt-3';
38
- updates.innerClass = 't-items-center';
39
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
40
- updates.optionClass = 't-pl-4 md:t-pl-12';
41
- updates.messagesClass = 't-flex t-justify-center';
42
+ updates.legendClass = "required";
43
+ updates.fieldsetClass = "$reset t-flex t-justify-center";
44
+ updates.optionsClass = "t-pl-2 t-pt-3";
45
+ updates.innerClass = "t-items-center";
46
+ updates.wrapperClass = "$reset t-flex t-cursor-pointer t-mb-3";
47
+ updates.optionClass = "t-pl-4 md:t-pl-12";
48
+ updates.messagesClass = "t-flex t-justify-center";
42
49
  return radio(updates)
43
50
  };
44
51
 
@@ -46,24 +53,27 @@ const select = (updates) => {
46
53
  if (updates.name && !updates.id) {
47
54
  updates.id = updates.name;
48
55
  }
49
- return merge({
50
- $formkit: 'select',
51
- placeholder: "Please Select",
52
- validation: 'required',
53
- validationMessages: {
54
- required: 'Field is required'
56
+ return merge(
57
+ {
58
+ $formkit: "select",
59
+ placeholder: "Please Select",
60
+ validation: "required",
61
+ validationMessages: {
62
+ required: "Field is required",
63
+ },
64
+ inputClass: "t-bg-white",
65
+ labelClass: "required",
55
66
  },
56
- inputClass: 't-bg-white',
57
- labelClass: 'required'
58
- }, updates)
67
+ updates
68
+ )
59
69
  };
60
70
 
61
71
  const verticalSelect = (updates) => {
62
- updates.labelClass = 'required';
63
- updates.wrapperClass = 't-flex t-justify-center';
64
- updates.messagesClass = 't-flex t-justify-center';
65
- updates.inputClass = 't-min-w-[150px] t-bg-white';
66
- updates.helpClass = 't-mt-2.5 t-text-center';
72
+ updates.labelClass = "required";
73
+ updates.wrapperClass = "t-flex t-justify-center";
74
+ updates.messagesClass = "t-flex t-justify-center";
75
+ updates.inputClass = "t-min-w-[150px] t-bg-white";
76
+ updates.helpClass = "t-mt-2.5 t-text-center";
67
77
  return select(updates)
68
78
  };
69
79
 
@@ -71,26 +81,29 @@ const text = (updates) => {
71
81
  if (updates.name && !updates.id) {
72
82
  updates.id = updates.name;
73
83
  }
74
- return merge({
75
- $formkit: 'text',
76
- validation: 'required',
77
- validationMessages: {
78
- required: 'Field is required'
84
+ return merge(
85
+ {
86
+ $formkit: "text",
87
+ validation: "required",
88
+ validationMessages: {
89
+ required: "Field is required",
90
+ },
91
+ labelClass: "required",
79
92
  },
80
- labelClass: 'required'
81
- }, updates)
93
+ updates
94
+ )
82
95
  };
83
96
 
84
97
  const sbsText = (updates) => {
85
- updates.wrapperClass = 'side-by-side t-items-center';
98
+ updates.wrapperClass = "side-by-side t-items-center";
86
99
  return text(updates)
87
100
  };
88
101
 
89
102
  const verticalText = (updates) => {
90
- updates.wrapperClass = 't-flex t-justify-center';
91
- updates.messagesClass = 't-flex t-justify-center';
92
- updates.inputClass = 't-text-center';
93
- updates.helpClass = 't-mt-2.5 !t-text-sm t-text-center';
103
+ updates.wrapperClass = "t-flex t-justify-center";
104
+ updates.messagesClass = "t-flex t-justify-center";
105
+ updates.inputClass = "t-text-center";
106
+ updates.helpClass = "t-mt-2.5 !t-text-sm t-text-center";
94
107
  return text(updates)
95
108
  };
96
109
 
@@ -98,671 +111,586 @@ const textArea = (updates) => {
98
111
  if (updates.name && !updates.id) {
99
112
  updates.id = updates.name;
100
113
  }
101
- return merge({
102
- $formkit: 'textarea',
103
- rows: 5,
104
- maxlength: 500,
105
- validation: 'required',
106
- validationMessages: {
107
- required: 'Field is required'
114
+ return merge(
115
+ {
116
+ $formkit: "textarea",
117
+ rows: 5,
118
+ maxlength: 500,
119
+ validation: "required",
120
+ validationMessages: {
121
+ required: "Field is required",
122
+ },
123
+ innerClass: "t-max-w-xl",
124
+ labelClass: "required",
108
125
  },
109
- innerClass: 't-max-w-xl',
110
- labelClass: 'required'
111
- }, updates)
126
+ updates
127
+ )
112
128
  };
113
129
 
114
-
115
130
  // ------ Common Inputs
116
131
 
117
-
118
132
  const address$1 = (scope, vertical, updates = {}) => {
119
133
  const func = vertical ? verticalText : sbsText;
120
- const label = vertical ? (updates.label) : 'Street Address:';
134
+ const label = vertical ? updates.label : "Street Address:";
121
135
  return func({
122
136
  label,
123
- placeholder: '10 Example St',
124
- name: scope ? scope + ':' + 'Address' : 'Address',
137
+ placeholder: "10 Example St",
138
+ name: scope ? scope + ":" + "Address" : "Address",
125
139
  autocomplete: "street-address",
126
- 'data-tf-sensitive': 'false',
140
+ "data-tf-sensitive": "false",
127
141
  minlength: 5,
128
142
  maxlength: 100,
129
143
  validationMessages: {
130
- minlength: 'Invalid Address',
131
- required: 'Address is required'
144
+ minlength: "Invalid Address",
145
+ required: "Address is required",
132
146
  },
133
- ...updates
147
+ ...updates,
134
148
  })
135
149
  };
136
150
 
137
- const email = (scope) => sbsText({
138
- $formkit: 'email',
139
- name: scope ? scope + ':' + 'Email' : 'Email',
140
- label: 'Email Address:',
141
- placeholder: 'email@domain.com',
142
- autocomplete: 'email',
143
- 'data-tf-sensitive': 'false',
144
- validation: 'required|email',
145
- validationMessages: {
146
- required: 'Email is required',
147
- email: 'Invalid Email'
148
- }
149
- });
150
-
151
- const firstName = (scope) => sbsText({
152
- label: 'First Name:',
153
- placeholder: 'First',
154
- name: scope ? scope + ':' + 'First_Name' : 'First_Name',
155
- autocomplete: "given-name",
156
- validationMessages: {
157
- required: 'First Name is required'
158
- }
159
- });
151
+ const email = (scope, vertical, updates = {}) => {
152
+ const func = vertical ? verticalText : sbsText;
153
+ const label = vertical ? updates.label : "Email Address:";
154
+ return func({
155
+ $formkit: "email",
156
+ name: scope ? scope + ":" + "Email" : "Email",
157
+ label,
158
+ placeholder: "email@domain.com",
159
+ autocomplete: "email",
160
+ "data-tf-sensitive": "false",
161
+ validation: "required|email",
162
+ validationMessages: {
163
+ required: "Email is required",
164
+ email: "Invalid Email",
165
+ },
166
+ ...updates,
167
+ })
168
+ };
160
169
 
161
- const lastName = (scope) => sbsText({
162
- label: 'Last Name:',
163
- placeholder: 'Last',
164
- name: scope ? scope + ':' + 'Last_Name' : 'Last_Name',
165
- autocomplete: "family-name",
166
- validationMessages: {
167
- required: 'Last Name is required'
168
- }
169
- });
170
+ const firstName = (scope, vertical, updates = {}) => {
171
+ const func = vertical ? verticalText : sbsText;
172
+ const label = vertical ? updates.label : "First Name:";
173
+ return func({
174
+ label,
175
+ placeholder: "First",
176
+ name: scope ? scope + ":" + "First_Name" : "First_Name",
177
+ autocomplete: "given-name",
178
+ validationMessages: {
179
+ required: "First Name is required",
180
+ },
181
+ ...updates,
182
+ })
183
+ };
170
184
 
171
- const phone = (scope) => sbsText({
172
- $formkit: 'tel',
173
- name: scope ? scope + ':' + 'Primary_Phone' : 'Primary_Phone',
174
- label: 'Phone Number:',
175
- placeholder: '###-###-####',
176
- maxlength: 12,
177
- help: '10-digit phone number, hyphens optional',
178
- autocomplete: 'tel-national',
179
- 'data-tf-sensitive': 'false',
180
- validation: 'required|matches:/^[0-9]{3}-?[0-9]{3}-?[0-9]{4}$/|valid_phone',
181
- validationMessages: {
182
- required: 'Field is required',
183
- matches: 'Invalid Phone Format, use ###-###-####',
184
- valid_phone: 'Invalid Phone Number'
185
- },
186
- helpClass: "t-mt-2.5 md:t-text-right md:t-mt-[-2px]"
187
- });
185
+ const lastName = (scope, vertical, updates = {}) => {
186
+ const func = vertical ? verticalText : sbsText;
187
+ const label = vertical ? updates.label : "Last Name:";
188
+ return func({
189
+ label,
190
+ placeholder: "Last",
191
+ name: scope ? scope + ":" + "Last_Name" : "Last_Name",
192
+ autocomplete: "family-name",
193
+ validationMessages: {
194
+ required: "Last Name is required",
195
+ },
196
+ ...updates,
197
+ })
198
+ };
188
199
 
200
+ const phone = (scope, vertical, updates = {}) => {
201
+ const func = vertical ? verticalText : sbsText;
202
+ const label = vertical ? updates.label : "Phone Number:";
203
+ return func({
204
+ $formkit: "tel",
205
+ name: scope ? scope + ":" + "Primary_Phone" : "Primary_Phone",
206
+ label,
207
+ placeholder: "###-###-####",
208
+ maxlength: 12,
209
+ help: "10-digit phone number, hyphens optional",
210
+ autocomplete: "tel-national",
211
+ "data-tf-sensitive": "false",
212
+ validation: "required|matches:/^[0-9]{3}-?[0-9]{3}-?[0-9]{4}$/|valid_phone",
213
+ validationMessages: {
214
+ required: "Phone Number is required",
215
+ matches: "Invalid Phone Format, use ###-###-####",
216
+ valid_phone: "Invalid Phone Number",
217
+ },
218
+ helpClass: "t-mt-2.5 md:t-text-right md:t-mt-[-2px]",
219
+ ...updates,
220
+ })
221
+ };
189
222
 
190
223
  const zipcode$1 = (scope, vertical, updates = {}) => {
191
224
  const func = vertical ? verticalText : sbsText;
192
- const label = vertical ? (updates.label) : 'Zip Code:';
193
- const help = vertical ? (updates.help ?? "We try to match you with local help") : null;
225
+ const label = vertical ? updates.label : "Zip Code:";
226
+ const help = vertical ? updates.help ?? "We try to match you with local help" : null;
194
227
  return func({
195
228
  label,
196
229
  help,
197
- placeholder: '#####',
198
- name: scope ? scope + ':' + 'Zip' : 'Zip',
230
+ placeholder: "#####",
231
+ name: scope ? scope + ":" + "Zip" : "Zip",
199
232
  maxlength: 5,
200
233
  inputmode: "numeric",
201
- autocomplete: 'postal-code',
202
- validation: 'required|matches:/^[0-9]{5}$/',
234
+ autocomplete: "postal-code",
235
+ validation: "required|matches:/^[0-9]{5}$/",
203
236
  validationMessages: {
204
- required: 'Zip Code is required',
205
- matches: 'Invalid Zip Code'
237
+ required: "Zip Code is required",
238
+ matches: "Invalid Zip Code",
206
239
  },
207
- ...updates
240
+ ...updates,
208
241
  })
209
242
  };
210
243
 
211
- const comments = (updates, scope) => textArea(
212
- merge({
213
- name: scope ? scope + ':' + 'Comments' : 'Comments',
214
- label: 'Please briefly describe your situation in a few words:',
215
- placeholder: 'For Example: "I would like help with child support payments" or "I need help with visitation rights"'
216
- }, updates)
217
- );
244
+ // TODO: vertical not supported yet
245
+ const comments = (scope, vertical, updates) =>
246
+ textArea(
247
+ merge(
248
+ {
249
+ name: scope ? scope + ":" + "Comments" : "Comments",
250
+ label: "Please briefly describe your situation in a few words:",
251
+ placeholder:
252
+ 'For Example: "I would like help with child support payments" or "I need help with visitation rights"',
253
+ },
254
+ updates
255
+ )
256
+ );
218
257
 
219
258
  const TCPAConsent = (scope) => ({
220
- $formkit: 'checkbox',
221
- label: '$meta.tcpaLanguage',
222
- name: scope ? scope + ':' + 'TCPA_Opt_In' : 'TCPA_Opt_In',
223
- 'data-tf-sensitive': 'false',
224
- validation: 'required|accepted',
259
+ $formkit: "checkbox",
260
+ label: "$meta.tcpaLanguage",
261
+ // Necessary to get links to work in the tcpa language
262
+ __raw__sectionsSchema: {
263
+ label: { attrs: { innerHTML: "$label" } },
264
+ },
265
+ name: scope ? scope + ":" + "TCPA_Opt_In" : "TCPA_Opt_In",
266
+ "data-tf-sensitive": "false",
267
+ validation: "required|accepted",
225
268
  validationMessages: {
226
- required: 'Consent is required',
227
- accepted: 'Consent is required'
269
+ required: "Consent is required",
270
+ accepted: "Consent is required",
228
271
  },
229
272
  classes: {
230
- label: "t-text-xs t-text-slate-500 t-font-normal"
231
- }
273
+ label: "t-text-xs t-text-slate-500 t-font-normal",
274
+ },
232
275
  });
233
276
 
234
277
  const HomeImprovementCategoryOptions = [
235
- 'Additions',
236
- 'Appliances',
237
- 'Appraisals',
238
- 'Cabinets',
239
- 'Carpentry',
240
- 'Carpets',
241
- 'Cleaning',
242
- 'Countertops',
243
- 'Decks and Porches',
244
- 'Demolition',
245
- 'Doors',
246
- 'Driveways',
247
- 'Drywall and Plaster',
248
- 'Electrical',
249
- 'Fencing',
250
- 'Flooring',
251
- 'Foundations',
252
- 'Garage Doors',
253
- 'General Contractors',
254
- 'Gutters',
255
- 'Handyman',
256
- 'Holiday Decorators',
257
- 'Smart Home',
258
- 'Home Builders',
259
- 'Home Inspection',
260
- 'Home Organization',
261
- 'Home Security',
262
- 'Home Staging',
263
- 'Home Theater',
264
- 'Home Warranties',
265
- 'Hot Tubs',
266
- 'Heating and Cooling',
267
- 'Insulation',
268
- 'Junk Removal',
269
- 'Landscaping',
270
- 'Locksmiths',
271
- 'Masonry and Concrete',
272
- 'Restoration',
278
+ "Additions",
279
+ "Appliances",
280
+ "Appraisals",
281
+ "Cabinets",
282
+ "Carpentry",
283
+ "Carpets",
284
+ "Cleaning",
285
+ "Countertops",
286
+ "Decks and Porches",
287
+ "Demolition",
288
+ "Doors",
289
+ "Driveways",
290
+ "Drywall and Plaster",
291
+ "Electrical",
292
+ "Fencing",
293
+ "Flooring",
294
+ "Foundations",
295
+ "Garage Doors",
296
+ "General Contractors",
297
+ "Gutters",
298
+ "Handyman",
299
+ "Holiday Decorators",
300
+ "Smart Home",
301
+ "Home Builders",
302
+ "Home Inspection",
303
+ "Home Organization",
304
+ "Home Security",
305
+ "Home Staging",
306
+ "Home Theater",
307
+ "Home Warranties",
308
+ "Hot Tubs",
309
+ "Heating and Cooling",
310
+ "Insulation",
311
+ "Junk Removal",
312
+ "Landscaping",
313
+ "Locksmiths",
314
+ "Masonry and Concrete",
315
+ "Restoration",
273
316
  // 'Moving',
274
- 'Painting',
275
- 'Pest Control',
276
- 'Pools',
277
- 'Plumbing',
278
- 'Pressure Washing',
279
- 'Remodeling',
280
- 'Roofing',
281
- 'Sheds',
282
- 'Siding',
283
- 'Solar',
284
- 'Tiling',
285
- 'Walk-in Tubs',
286
- 'Waterproofing',
287
- 'Window Cleaning',
288
- 'Windows'
317
+ "Painting",
318
+ "Pest Control",
319
+ "Pools",
320
+ "Plumbing",
321
+ "Pressure Washing",
322
+ "Remodeling",
323
+ "Roofing",
324
+ "Sheds",
325
+ "Siding",
326
+ "Solar",
327
+ "Tiling",
328
+ "Walk-in Tubs",
329
+ "Waterproofing",
330
+ "Window Cleaning",
331
+ "Windows",
289
332
  ];
290
333
 
291
- const homeImprovementCategory$1 = (updates) => verticalSelect(merge({
292
- name: 'Category',
293
- id: 'Category',
294
- options: HomeImprovementCategoryOptions,
295
- }, updates));
296
-
297
- const timeframe$1 = (scope) => verticalRadio({
298
- name: scope ? scope + ':' + 'Timeframe' : 'Timeframe',
299
- // label: 'What is the project timeframe?',
300
- options: [
301
- 'Immediate',
302
- '1-6 Months',
303
- 'More than 6 Months'
304
- ]
305
- });
306
-
307
- const ownHome$1 = (scope) => verticalRadio({
308
- name: scope ? scope + ':' + 'Own_Home' : 'Own_Home',
309
- // label: 'Do you own the home?',
310
- options: [
311
- 'Yes',
312
- 'No',
313
- 'No but authorized'
314
- ]
315
- });
316
-
317
- const additionsSubType$1 = (scope) => verticalSelect({
318
- name: scope ? scope + ':' + 'Additions_Subtype' : 'Additions_Subtype',
319
- // label: 'What type of addition?',
320
- options: [
321
- 'Garage',
322
- 'In-Law Suite',
323
- 'Additional Rooms',
324
- 'Additional Stories',
325
- 'Bump-out',
326
- 'Sunroom',
327
- 'Accessory Dwelling Unit',
328
- 'Basement Remodeling',
329
- 'Attic Remodeling',
330
- 'Not Sure or Other'
331
- ]
332
- });
333
-
334
- const constructionAreaSize$1 = (scope) => verticalRadio({
335
- name: scope ? scope + ':' + 'Construction_Area_Size' : 'Construction_Area_Size',
336
- // label: 'What is the size of the construction area?',
337
- options: [
338
- 'Less than 1000 square feet',
339
- '1000 to 2000 square feet',
340
- 'More than 2000 square feet'
341
- ]
342
- });
343
-
344
-
345
- const homeImprovementWorkType$1 = (scope) => verticalRadio({
346
- name: scope ? scope + ':' + 'Work_Type' : 'Work_Type',
347
- // label: 'What type of work do you need?',
348
- options: [
349
- 'Install or Replace',
350
- 'Repair',
351
- 'Not Sure or Other'
352
- ]
353
- });
354
-
355
- const applianceType$1 = (scope) => verticalSelect({
356
- name: scope ? scope + ':' + 'Appliance_Type' : 'Appliance_Type',
357
- // label: 'What type of appliance?',
358
- options: [
359
- 'Cooktop',
360
- 'Dishwasher',
361
- 'Dryer',
362
- 'Freezer',
363
- 'Garbage Disposal',
364
- 'Ice Maker',
365
- 'Microwave',
366
- 'Range',
367
- 'Refrigerator',
368
- 'Stove',
369
- 'Trash Compactor',
370
- 'Oven',
371
- 'Vacuum',
372
- 'Washer Machine',
373
- 'Not Sure or Other',
374
- ]
375
- });
376
-
377
-
378
- const cabinetWorkType$1 = (scope) => verticalRadio({
379
- name: scope ? scope + ':' + 'Cabinet_Work_Type' : 'Cabinet_Work_Type',
380
- // label: 'What type of work do you need?',
381
- options: [
382
- 'Install',
383
- 'Refinish',
384
- 'Reface',
385
- 'Repair',
386
- 'Not Sure or Other'
387
- ]
388
- });
389
-
390
- const carpentrySubtype$1 = (scope) => verticalSelect({
391
- name: scope ? scope + ':' + 'Carpentry_Subtype' : 'Carpentry_Subtype',
392
- // label: 'What type of carpentry work?',
393
- options: [
394
- 'Closets',
395
- 'Custom Furniture',
396
- 'Built-ins',
397
- 'Framing',
398
- 'Interior Trim',
399
- 'Exterior Trim',
400
- 'Windows',
401
- 'Stairways and Railings',
402
- 'Gazebo or Pergola',
403
- 'Multiple Jobs',
404
- 'Not Sure or Other'
405
- ]
406
- });
407
-
408
- const carpetWorkType$1 = (scope) => verticalRadio({
409
- name: scope ? scope + ':' + 'Carpet_Work_Type' : 'Carpet_Work_Type',
410
- // label: 'What type of work do you need?',
411
- options: [
412
- 'Install or Replace',
413
- 'Repair',
414
- 'Cleaning',
415
- 'Not Sure or Other'
416
- ]
417
- });
418
-
419
- const cleaningSubtype$1 = (scope) => verticalSelect({
420
- name: scope ? scope + ':' + 'Cleaning_Subtype' : 'Cleaning_Subtype',
421
- // label: 'What type of cleaning?',
422
- options: [
423
- 'Whole Home',
424
- 'Office',
425
- 'Carpets',
426
- 'Windows',
427
- 'Air Ducts or Vents',
428
- 'Chimney',
429
- 'Deck',
430
- 'Tile or Grout',
431
- 'Garage',
432
- 'Shed',
433
- 'Gutters',
434
- 'Pool',
435
- 'Junk Removal',
436
- 'Not Sure or Other'
437
- ]
438
- });
439
-
440
- const countertopMaterial$1 = (scope) => verticalSelect({
441
- name: scope ? scope + ':' + 'Countertop_Material' : 'Countertop_Material',
442
- // label: 'What type of countertop?',
443
- options: [
444
- 'Concrete',
445
- 'Granite',
446
- 'Laminate',
447
- 'Marble',
448
- 'Quartz',
449
- 'Stainless Steel',
450
- 'Wood',
451
- 'Not Sure or Other'
452
- ]
453
- });
454
-
455
- const deckWorkType$1 = (scope) => verticalRadio({
456
- name: scope ? scope + ':' + 'Deck_Work_Type' : 'Deck_Work_Type',
457
- // label: 'What type of work do you need?',
458
- options: [
459
- 'Paint or Stain',
460
- 'Install or Replace',
461
- 'Repair',
462
- 'Not Sure or Other'
463
- ]
464
- });
465
-
466
- const demolitionSubtype$1 = (scope) => verticalRadio({
467
- name: scope ? scope + ':' + 'Demolition_Subtype' : 'Demolition_Subtype',
468
- // label: 'What type of demolition?',
469
- options: [
470
- 'Whole Structure',
471
- 'Partial Home',
472
- 'Shed',
473
- 'Not Sure or Other'
474
- ]
475
- });
476
-
477
- const doorSubtype$1 = (scope) => verticalRadio({
478
- name: scope ? scope + ':' + 'Door_Subtype' : 'Door_Subtype',
479
- // label: 'What type of door?',
480
- options: [
481
- 'Interior',
482
- 'Exterior',
483
- 'Garage',
484
- 'Sliding',
485
- 'Storm',
486
- 'Not Sure or Other'
487
- ]
488
- });
489
-
490
- const drivewayWorkType$1 = (scope) => verticalRadio({
491
- name: scope ? scope + ':' + 'Driveway_Work_Type' : 'Driveway_Work_Type',
492
- // label: 'What type of work do you need?',
493
- options: [
494
- 'Install or Replace',
495
- 'Repair',
496
- 'Sealing',
497
- 'Not Sure or Other'
498
- ]
499
- });
500
-
501
- const drivewayMaterial$1 = (scope) => verticalRadio({
502
- name: scope ? scope + ':' + 'Driveway_Material' : 'Driveway_Material',
503
- // label: 'What type of driveway material?',
504
- options: [
505
- 'Asphalt',
506
- 'Brick',
507
- 'Cobblestone',
508
- 'Pebble',
509
- 'Concrete',
510
- 'Pavers',
511
- 'Not Sure or Other'
512
- ]
513
- });
514
-
515
- const wallSurfaceType$1 = (scope) => verticalRadio({
516
- name: scope ? scope + ':' + 'Wall_Surface_Type' : 'Wall_Surface_Type',
517
- // label: 'What type of surface?',
518
- options: [
519
- 'Drywall',
520
- 'Plaster',
521
- 'Stucco',
522
- 'Not Sure or Other'
523
- ]
524
- });
525
-
526
- const electricalSubtype$1 = (scope) => verticalSelect({
527
- name: scope ? scope + ':' + 'Electrical_Subtype' : 'Electrical_Subtype',
528
- // label: 'What type of electrical work do you need?',
529
- options: [
530
- 'Electrical Panel',
531
- 'Outlets and Fixtures',
532
- 'Home Theater',
533
- 'Exhaust Fans',
534
- 'Ceiling Fans',
535
- 'EV Charging Station',
536
- 'Addition or Remodel',
537
- 'Generator',
538
- 'Outdoor Lighting',
539
- 'Pet Fence',
540
- 'Thermostat',
541
- 'Wall or Baseboard Heater',
542
- 'Holiday Lighting',
543
- 'Not Sure or Other'
544
- ]
545
- });
546
-
547
- const fenceMaterial$1 = (scope) => verticalRadio({
548
- name: scope ? scope + ':' + 'Fence_Material' : 'Fence_Material',
549
- // label: 'What type of fence material?',
550
- options: [
551
- 'Aluminum',
552
- 'Chain Link',
553
- 'Wood',
554
- 'Wire',
555
- 'Vinyl',
556
- 'Iron',
557
- 'Not Sure or Other'
558
- ]
559
- });
560
-
561
- const flooringMaterial$1 = (scope) => verticalRadio({
562
- name: scope ? scope + ':' + 'Flooring_Material' : 'Flooring_Material',
563
- // label: 'What type of flooring material?',
564
- options: [
565
- 'Carpet',
566
- 'Concrete',
567
- 'Hardwood',
568
- 'Laminate',
569
- 'Linoleum',
570
- 'Slate',
571
- 'Tile',
572
- 'Vinyl',
573
- 'Not Sure or Other'
574
- ]
575
- });
576
-
577
- const generalContractorSubtype$1 = (scope) => verticalRadio({
578
- name: scope ? scope + ':' + 'General_Contractor_Subtype' : 'General_Contractor_Subtype',
579
- // label: 'What type of general contractor work do you need?',
580
- options: [
581
- 'Remodeling',
582
- 'Additions',
583
- 'Major Home Repairs',
584
- 'Excavation',
585
- 'Demolition',
586
- 'Dumpster Rental',
587
- 'Not Sure or Other'
588
- ]
589
- });
590
-
591
- const gutterMaterial$1 = (scope) => verticalRadio({
592
- name: scope ? scope + ':' + 'Gutter_Material' : 'Gutter_Material',
593
- // label: 'What type of gutter material?',
594
- options: [
595
- 'Galvanized',
596
- 'Metal',
597
- 'PVC',
598
- 'Wood',
599
- 'Not Sure or Other'
600
- ]
601
- });
602
-
603
- const guttersWorkType$1 = (scope) => verticalRadio({
604
- name: scope ? scope + ':' + 'Gutters_Work_Type' : 'Gutters_Work_Type',
605
- options: [
606
- 'Install or Replace',
607
- 'Repair',
608
- 'Cleaning',
609
- 'Not Sure or Other'
610
- ]
611
- });
612
-
613
- const smartHomeSubtype$1 = (scope) => verticalRadio({
614
- name: scope ? scope + ':' + 'Smart_Home_Subtype' : 'Smart_Home_Subtype',
615
- // label: 'What type of smart home work do you need?',
616
- options: [
617
- 'Thermostats',
618
- 'Video Doorbells',
619
- 'Camera Systems',
620
- 'Lighting',
621
- 'Speaker Systems',
622
- 'Not Sure or Other'
623
- ]
624
- });
625
-
626
- const homeOrganizationSubtype$1 = (scope) => verticalRadio({
627
- name: scope ? scope + ':' + 'Home_Organization_Subtype' : 'Home_Organization_Subtype',
628
- // label: 'What type of home organization work do you need?',
629
- options: [
630
- 'Packing or Unpacking',
631
- 'Room Organization',
632
- 'Shed Organization',
633
- 'Storage Solutions',
634
- 'Decluttering',
635
- 'Not Sure or Other'
636
- ]
637
- });
638
-
639
- const numberOfRooms$1 = (scope) => verticalRadio({
640
- name: scope ? scope + ':' + 'Number_Of_Rooms' : 'Number_Of_Rooms',
641
- // label: 'How many rooms?',
642
- options: [
643
- '1',
644
- '2',
645
- '3',
646
- '4',
647
- '5 or more'
648
- ]
649
- });
650
-
651
- const homeTheaterSubtype$1 = (scope) => verticalRadio({
652
- name: scope ? scope + ':' + 'Home_Theater_Subtype' : 'Home_Theater_Subtype',
653
- // label: 'What type of home theater work do you need?',
654
- options: [
655
- 'Hang TV',
656
- 'Install Sound System',
657
- 'Wiring',
658
- 'Troubleshooting',
659
- 'Not Sure or Other'
660
- ]
661
- });
662
-
663
- const heatingCoolingSubtype$1 = (scope) => verticalSelect({
664
- name: scope ? scope + ':' + 'Heating_Cooling_Subtype' : 'Heating_Cooling_Subtype',
665
- // label: 'What type of heating and cooling work do you need?',
666
- options: [
667
- 'Central Air',
668
- 'Humidifier',
669
- 'Ducts and Vents',
670
- 'Furnace',
671
- 'Heat Pump',
672
- 'Radiant Floor',
673
- 'Swamp Cooler',
674
- 'Not Sure or Other'
675
- ]
676
- });
677
-
678
- const fuelSource$1 = (scope) => verticalRadio({
679
- name: scope ? scope + ':' + 'Fuel_Source' : 'Fuel_Source',
680
- // label: 'What is the fuel source?',
681
- options: [
682
- 'Gas',
683
- 'Oil',
684
- 'Electric',
685
- 'Propane',
686
- 'Not Sure or Other'
687
- ]
688
- });
689
-
690
- const insulationSubtype$1 = (scope) => verticalRadio({
691
- name: scope ? scope + ':' + 'Insulation_Subtype' : 'Insulation_Subtype',
692
- // label: 'What type of insulation work do you need?',
693
- options: [
694
- 'Batt or Roll',
695
- 'Spray Foam',
696
- 'Blown-in',
697
- 'Reflective',
698
- 'Not Sure or Other'
699
- ]
700
- });
701
-
702
- const landscapingSubtype$1 = (scope) => verticalSelect({
703
- name: scope ? scope + ':' + 'Landscaping_Subtype' : 'Landscaping_Subtype',
704
- // label: 'What type of landscaping work do you need?',
705
- options: [
706
- 'Lawn Mowing',
707
- 'Lawn Care or Fertilization',
708
- 'Yard or Leaf Cleanup',
709
- 'Patios or Walkways',
710
- 'Stonework',
711
- 'Architects',
712
- 'Landscape Construction',
713
- 'Outdoor Lighting',
714
- 'Grading',
715
- 'Materials Delivery',
716
- 'Spinklers'
717
- ]
718
- });
719
-
720
- const masonrySubtype$1 = (scope) => verticalRadio({
721
- name: scope ? scope + ':' + 'Masonry_Subtype' : 'Masonry_Subtype',
722
- // label: 'What type of masonry work do you need?',
723
- options: [
724
- 'Driveways',
725
- 'Walkways',
726
- 'Floors',
727
- 'Walls',
728
- 'Facades',
729
- 'Material Delivery',
730
- 'Not Sure or Other'
731
- ]
732
- });
733
-
734
- const masonryMaterial$1 = (scope) => verticalRadio({
735
- name: scope ? scope + ':' + 'Masonry_Material' : 'Masonry_Material',
736
- // label: 'What type of masonry material?',
737
- options: [
738
- 'Brick or Stone',
739
- 'Pavers',
740
- 'Concrete',
741
- 'Not Sure or Other'
742
- ]
743
- });
744
-
745
- const masonryWorkType$1 = (scope) => verticalRadio({
746
- name: scope ? scope + ':' + 'Masonry_Work_Type' : 'Masonry_Work_Type',
747
- // label: 'What type of masonry work do you need?',
748
- options: [
749
- 'Install or Replace',
750
- 'Repoint Brick or Stone',
751
- 'Repair',
752
- 'Not Sure or Other'
753
- ]
754
- });
334
+ const homeImprovementCategory$1 = (updates) =>
335
+ verticalSelect(
336
+ merge(
337
+ {
338
+ name: "Category",
339
+ id: "Category",
340
+ options: HomeImprovementCategoryOptions,
341
+ },
342
+ updates
343
+ )
344
+ );
755
345
 
756
- const restorationSubtype$1 = (scope) => verticalRadio({
757
- name: scope ? scope + ':' + 'Restoration_Subtype' : 'Restoration_Subtype',
758
- // label: 'What type of restoration work do you need?',
759
- options: [
760
- 'Mold Remediation',
761
- 'Fire Damage',
762
- 'Water Damage',
763
- 'Not Sure or Other'
764
- ]
765
- });
346
+ const timeframe$1 = (scope) =>
347
+ verticalRadio({
348
+ name: scope ? scope + ":" + "Timeframe" : "Timeframe",
349
+ // label: 'What is the project timeframe?',
350
+ options: ["Immediate", "1-6 Months", "More than 6 Months"],
351
+ });
352
+
353
+ const ownHome$1 = (scope) =>
354
+ verticalRadio({
355
+ name: scope ? scope + ":" + "Own_Home" : "Own_Home",
356
+ // label: 'Do you own the home?',
357
+ options: ["Yes", "No", "No but authorized"],
358
+ });
359
+
360
+ const additionsSubType$1 = (scope) =>
361
+ verticalSelect({
362
+ name: scope ? scope + ":" + "Additions_Subtype" : "Additions_Subtype",
363
+ // label: 'What type of addition?',
364
+ options: [
365
+ "Garage",
366
+ "In-Law Suite",
367
+ "Additional Rooms",
368
+ "Additional Stories",
369
+ "Bump-out",
370
+ "Sunroom",
371
+ "Accessory Dwelling Unit",
372
+ "Basement Remodeling",
373
+ "Attic Remodeling",
374
+ "Not Sure or Other",
375
+ ],
376
+ });
377
+
378
+ const constructionAreaSize$1 = (scope) =>
379
+ verticalRadio({
380
+ name: scope ? scope + ":" + "Construction_Area_Size" : "Construction_Area_Size",
381
+ // label: 'What is the size of the construction area?',
382
+ options: ["Less than 1000 square feet", "1000 to 2000 square feet", "More than 2000 square feet"],
383
+ });
384
+
385
+ const homeImprovementWorkType$1 = (scope) =>
386
+ verticalRadio({
387
+ name: scope ? scope + ":" + "Work_Type" : "Work_Type",
388
+ // label: 'What type of work do you need?',
389
+ options: ["Install or Replace", "Repair", "Not Sure or Other"],
390
+ });
391
+
392
+ const applianceType$1 = (scope) =>
393
+ verticalSelect({
394
+ name: scope ? scope + ":" + "Appliance_Type" : "Appliance_Type",
395
+ // label: 'What type of appliance?',
396
+ options: [
397
+ "Cooktop",
398
+ "Dishwasher",
399
+ "Dryer",
400
+ "Freezer",
401
+ "Garbage Disposal",
402
+ "Ice Maker",
403
+ "Microwave",
404
+ "Range",
405
+ "Refrigerator",
406
+ "Stove",
407
+ "Trash Compactor",
408
+ "Oven",
409
+ "Vacuum",
410
+ "Washer Machine",
411
+ "Not Sure or Other",
412
+ ],
413
+ });
414
+
415
+ const cabinetWorkType$1 = (scope) =>
416
+ verticalRadio({
417
+ name: scope ? scope + ":" + "Cabinet_Work_Type" : "Cabinet_Work_Type",
418
+ // label: 'What type of work do you need?',
419
+ options: ["Install", "Refinish", "Reface", "Repair", "Not Sure or Other"],
420
+ });
421
+
422
+ const carpentrySubtype$1 = (scope) =>
423
+ verticalSelect({
424
+ name: scope ? scope + ":" + "Carpentry_Subtype" : "Carpentry_Subtype",
425
+ // label: 'What type of carpentry work?',
426
+ options: [
427
+ "Closets",
428
+ "Custom Furniture",
429
+ "Built-ins",
430
+ "Framing",
431
+ "Interior Trim",
432
+ "Exterior Trim",
433
+ "Windows",
434
+ "Stairways and Railings",
435
+ "Gazebo or Pergola",
436
+ "Multiple Jobs",
437
+ "Not Sure or Other",
438
+ ],
439
+ });
440
+
441
+ const carpetWorkType$1 = (scope) =>
442
+ verticalRadio({
443
+ name: scope ? scope + ":" + "Carpet_Work_Type" : "Carpet_Work_Type",
444
+ // label: 'What type of work do you need?',
445
+ options: ["Install or Replace", "Repair", "Cleaning", "Not Sure or Other"],
446
+ });
447
+
448
+ const cleaningSubtype$1 = (scope) =>
449
+ verticalSelect({
450
+ name: scope ? scope + ":" + "Cleaning_Subtype" : "Cleaning_Subtype",
451
+ // label: 'What type of cleaning?',
452
+ options: [
453
+ "Whole Home",
454
+ "Office",
455
+ "Carpets",
456
+ "Windows",
457
+ "Air Ducts or Vents",
458
+ "Chimney",
459
+ "Deck",
460
+ "Tile or Grout",
461
+ "Garage",
462
+ "Shed",
463
+ "Gutters",
464
+ "Pool",
465
+ "Junk Removal",
466
+ "Not Sure or Other",
467
+ ],
468
+ });
469
+
470
+ const countertopMaterial$1 = (scope) =>
471
+ verticalSelect({
472
+ name: scope ? scope + ":" + "Countertop_Material" : "Countertop_Material",
473
+ // label: 'What type of countertop?',
474
+ options: ["Concrete", "Granite", "Laminate", "Marble", "Quartz", "Stainless Steel", "Wood", "Not Sure or Other"],
475
+ });
476
+
477
+ const deckWorkType$1 = (scope) =>
478
+ verticalRadio({
479
+ name: scope ? scope + ":" + "Deck_Work_Type" : "Deck_Work_Type",
480
+ // label: 'What type of work do you need?',
481
+ options: ["Paint or Stain", "Install or Replace", "Repair", "Not Sure or Other"],
482
+ });
483
+
484
+ const demolitionSubtype$1 = (scope) =>
485
+ verticalRadio({
486
+ name: scope ? scope + ":" + "Demolition_Subtype" : "Demolition_Subtype",
487
+ // label: 'What type of demolition?',
488
+ options: ["Whole Structure", "Partial Home", "Shed", "Not Sure or Other"],
489
+ });
490
+
491
+ const doorSubtype$1 = (scope) =>
492
+ verticalRadio({
493
+ name: scope ? scope + ":" + "Door_Subtype" : "Door_Subtype",
494
+ // label: 'What type of door?',
495
+ options: ["Interior", "Exterior", "Garage", "Sliding", "Storm", "Not Sure or Other"],
496
+ });
497
+
498
+ const drivewayWorkType$1 = (scope) =>
499
+ verticalRadio({
500
+ name: scope ? scope + ":" + "Driveway_Work_Type" : "Driveway_Work_Type",
501
+ // label: 'What type of work do you need?',
502
+ options: ["Install or Replace", "Repair", "Sealing", "Not Sure or Other"],
503
+ });
504
+
505
+ const drivewayMaterial$1 = (scope) =>
506
+ verticalRadio({
507
+ name: scope ? scope + ":" + "Driveway_Material" : "Driveway_Material",
508
+ // label: 'What type of driveway material?',
509
+ options: ["Asphalt", "Brick", "Cobblestone", "Pebble", "Concrete", "Pavers", "Not Sure or Other"],
510
+ });
511
+
512
+ const wallSurfaceType$1 = (scope) =>
513
+ verticalRadio({
514
+ name: scope ? scope + ":" + "Wall_Surface_Type" : "Wall_Surface_Type",
515
+ // label: 'What type of surface?',
516
+ options: ["Drywall", "Plaster", "Stucco", "Not Sure or Other"],
517
+ });
518
+
519
+ const electricalSubtype$1 = (scope) =>
520
+ verticalSelect({
521
+ name: scope ? scope + ":" + "Electrical_Subtype" : "Electrical_Subtype",
522
+ // label: 'What type of electrical work do you need?',
523
+ options: [
524
+ "Electrical Panel",
525
+ "Outlets and Fixtures",
526
+ "Home Theater",
527
+ "Exhaust Fans",
528
+ "Ceiling Fans",
529
+ "EV Charging Station",
530
+ "Addition or Remodel",
531
+ "Generator",
532
+ "Outdoor Lighting",
533
+ "Pet Fence",
534
+ "Thermostat",
535
+ "Wall or Baseboard Heater",
536
+ "Holiday Lighting",
537
+ "Not Sure or Other",
538
+ ],
539
+ });
540
+
541
+ const fenceMaterial$1 = (scope) =>
542
+ verticalRadio({
543
+ name: scope ? scope + ":" + "Fence_Material" : "Fence_Material",
544
+ // label: 'What type of fence material?',
545
+ options: ["Aluminum", "Chain Link", "Wood", "Wire", "Vinyl", "Iron", "Not Sure or Other"],
546
+ });
547
+
548
+ const flooringMaterial$1 = (scope) =>
549
+ verticalRadio({
550
+ name: scope ? scope + ":" + "Flooring_Material" : "Flooring_Material",
551
+ // label: 'What type of flooring material?',
552
+ options: ["Carpet", "Concrete", "Hardwood", "Laminate", "Linoleum", "Slate", "Tile", "Vinyl", "Not Sure or Other"],
553
+ });
554
+
555
+ const generalContractorSubtype$1 = (scope) =>
556
+ verticalRadio({
557
+ name: scope ? scope + ":" + "General_Contractor_Subtype" : "General_Contractor_Subtype",
558
+ // label: 'What type of general contractor work do you need?',
559
+ options: [
560
+ "Remodeling",
561
+ "Additions",
562
+ "Major Home Repairs",
563
+ "Excavation",
564
+ "Demolition",
565
+ "Dumpster Rental",
566
+ "Not Sure or Other",
567
+ ],
568
+ });
569
+
570
+ const gutterMaterial$1 = (scope) =>
571
+ verticalRadio({
572
+ name: scope ? scope + ":" + "Gutter_Material" : "Gutter_Material",
573
+ // label: 'What type of gutter material?',
574
+ options: ["Galvanized", "Metal", "PVC", "Wood", "Not Sure or Other"],
575
+ });
576
+
577
+ const guttersWorkType$1 = (scope) =>
578
+ verticalRadio({
579
+ name: scope ? scope + ":" + "Gutters_Work_Type" : "Gutters_Work_Type",
580
+ options: ["Install or Replace", "Repair", "Cleaning", "Not Sure or Other"],
581
+ });
582
+
583
+ const smartHomeSubtype$1 = (scope) =>
584
+ verticalRadio({
585
+ name: scope ? scope + ":" + "Smart_Home_Subtype" : "Smart_Home_Subtype",
586
+ // label: 'What type of smart home work do you need?',
587
+ options: ["Thermostats", "Video Doorbells", "Camera Systems", "Lighting", "Speaker Systems", "Not Sure or Other"],
588
+ });
589
+
590
+ const homeOrganizationSubtype$1 = (scope) =>
591
+ verticalRadio({
592
+ name: scope ? scope + ":" + "Home_Organization_Subtype" : "Home_Organization_Subtype",
593
+ // label: 'What type of home organization work do you need?',
594
+ options: [
595
+ "Packing or Unpacking",
596
+ "Room Organization",
597
+ "Shed Organization",
598
+ "Storage Solutions",
599
+ "Decluttering",
600
+ "Not Sure or Other",
601
+ ],
602
+ });
603
+
604
+ const numberOfRooms$1 = (scope) =>
605
+ verticalRadio({
606
+ name: scope ? scope + ":" + "Number_Of_Rooms" : "Number_Of_Rooms",
607
+ // label: 'How many rooms?',
608
+ options: ["1", "2", "3", "4", "5 or more"],
609
+ });
610
+
611
+ const homeTheaterSubtype$1 = (scope) =>
612
+ verticalRadio({
613
+ name: scope ? scope + ":" + "Home_Theater_Subtype" : "Home_Theater_Subtype",
614
+ // label: 'What type of home theater work do you need?',
615
+ options: ["Hang TV", "Install Sound System", "Wiring", "Troubleshooting", "Not Sure or Other"],
616
+ });
617
+
618
+ const heatingCoolingSubtype$1 = (scope) =>
619
+ verticalSelect({
620
+ name: scope ? scope + ":" + "Heating_Cooling_Subtype" : "Heating_Cooling_Subtype",
621
+ // label: 'What type of heating and cooling work do you need?',
622
+ options: [
623
+ "Central Air",
624
+ "Humidifier",
625
+ "Ducts and Vents",
626
+ "Furnace",
627
+ "Heat Pump",
628
+ "Radiant Floor",
629
+ "Swamp Cooler",
630
+ "Not Sure or Other",
631
+ ],
632
+ });
633
+
634
+ const fuelSource$1 = (scope) =>
635
+ verticalRadio({
636
+ name: scope ? scope + ":" + "Fuel_Source" : "Fuel_Source",
637
+ // label: 'What is the fuel source?',
638
+ options: ["Gas", "Oil", "Electric", "Propane", "Not Sure or Other"],
639
+ });
640
+
641
+ const insulationSubtype$1 = (scope) =>
642
+ verticalRadio({
643
+ name: scope ? scope + ":" + "Insulation_Subtype" : "Insulation_Subtype",
644
+ // label: 'What type of insulation work do you need?',
645
+ options: ["Batt or Roll", "Spray Foam", "Blown-in", "Reflective", "Not Sure or Other"],
646
+ });
647
+
648
+ const landscapingSubtype$1 = (scope) =>
649
+ verticalSelect({
650
+ name: scope ? scope + ":" + "Landscaping_Subtype" : "Landscaping_Subtype",
651
+ // label: 'What type of landscaping work do you need?',
652
+ options: [
653
+ "Lawn Mowing",
654
+ "Lawn Care or Fertilization",
655
+ "Yard or Leaf Cleanup",
656
+ "Patios or Walkways",
657
+ "Stonework",
658
+ "Architects",
659
+ "Landscape Construction",
660
+ "Outdoor Lighting",
661
+ "Grading",
662
+ "Materials Delivery",
663
+ "Spinklers",
664
+ ],
665
+ });
666
+
667
+ const masonrySubtype$1 = (scope) =>
668
+ verticalRadio({
669
+ name: scope ? scope + ":" + "Masonry_Subtype" : "Masonry_Subtype",
670
+ // label: 'What type of masonry work do you need?',
671
+ options: ["Driveways", "Walkways", "Floors", "Walls", "Facades", "Material Delivery", "Not Sure or Other"],
672
+ });
673
+
674
+ const masonryMaterial$1 = (scope) =>
675
+ verticalRadio({
676
+ name: scope ? scope + ":" + "Masonry_Material" : "Masonry_Material",
677
+ // label: 'What type of masonry material?',
678
+ options: ["Brick or Stone", "Pavers", "Concrete", "Not Sure or Other"],
679
+ });
680
+
681
+ const masonryWorkType$1 = (scope) =>
682
+ verticalRadio({
683
+ name: scope ? scope + ":" + "Masonry_Work_Type" : "Masonry_Work_Type",
684
+ // label: 'What type of masonry work do you need?',
685
+ options: ["Install or Replace", "Repoint Brick or Stone", "Repair", "Not Sure or Other"],
686
+ });
687
+
688
+ const restorationSubtype$1 = (scope) =>
689
+ verticalRadio({
690
+ name: scope ? scope + ":" + "Restoration_Subtype" : "Restoration_Subtype",
691
+ // label: 'What type of restoration work do you need?',
692
+ options: ["Mold Remediation", "Fire Damage", "Water Damage", "Not Sure or Other"],
693
+ });
766
694
 
767
695
  // TODO: need to finalize support for moving
768
696
 
@@ -800,227 +728,179 @@ const restorationSubtype$1 = (scope) => verticalRadio({
800
728
  // ]
801
729
  // })
802
730
 
803
- const paintingSubtype$1 = (scope) => verticalSelect({
804
- name: scope ? scope + ':' + 'Painting_Subtype' : 'Painting_Subtype',
805
- // label: 'What type of painting work do you need?',
806
- options: [
807
- 'Whole Exterior',
808
- 'Exterior Touch-up',
809
- 'Interior Rooms',
810
- 'Interior Touch-up',
811
- 'Ceilings',
812
- 'Deck',
813
- 'Shed',
814
- 'Cabinets',
815
- 'Not Sure or Other'
816
- ]
817
- });
818
-
819
- const paintingRooms$1 = (scope) => verticalRadio({
820
- name: scope ? scope + ':' + 'Painting_Rooms' : 'Painting_Rooms',
821
- // label: 'How many rooms need painting?',
822
- options: [
823
- '1-2',
824
- '3-4',
825
- '4-5',
826
- '5-6',
827
- '6+'
828
- ]
829
- });
830
-
831
- const pestControlSubtype$1 = (scope) => verticalSelect({
832
- name: scope ? scope + ':' + 'Pest_Control_Subtype' : 'Pest_Control_Subtype',
833
- // label: 'What type of pest control work do you need?',
834
- options: [
835
- 'Bed Bugs',
836
- 'Flying Animals',
837
- 'Insects',
838
- 'Rodents',
839
- 'Small Animals',
840
- 'Bees',
841
- 'Termites',
842
- 'Not Sure or Other'
843
- ]
844
- });
845
-
846
- const poolsWorkType$1 = (scope) => verticalRadio({
847
- name: scope ? scope + ':' + 'Pools_Work_Type' : 'Pools_Work_Type',
848
- // label: 'What type of pool work do you need?',
849
- options: [
850
- 'Install or Replace',
851
- 'Repair',
852
- 'Cleaning',
853
- 'Close or Open Pool',
854
- 'Not Sure or Other'
855
- ]
856
- });
857
-
858
- const poolsSubtype$1 = (scope) => verticalSelect({
859
- name: scope ? scope + ':' + 'Pools_Subtype' : 'Pools_Subtype',
860
- // label: 'What type of pool do you have?',
861
- options: [
862
- 'Above Ground',
863
- 'Inground Concrete',
864
- 'Inground Fiberglass',
865
- 'Inground Vinyl',
866
- 'Inground Gunite',
867
- 'Pool Liners',
868
- 'Pool Filters',
869
- 'Not Sure or Other'
870
- ]
871
- });
872
-
873
- const plumbingSubtype$1 = (scope) => verticalSelect({
874
- name: scope ? scope + ':' + 'Plumbing_Subtype' : 'Plumbing_Subtype',
875
- // label: 'What type of plumbing work do you need?',
876
- options: [
877
- 'Tub or Shower',
878
- 'Drain',
879
- 'Sink',
880
- 'Toilet',
881
- 'Boiler',
882
- 'Water Heater',
883
- 'Sump Pump',
884
- 'Piping',
885
- 'Septic',
886
- 'Water Main',
887
- 'Hot Tub',
888
- 'Additions and Remodels',
889
- 'Not Sure or Other'
890
- ]
891
- });
892
-
893
- const remodelingSubtype$1 = (scope) => verticalSelect({
894
- name: scope ? scope + ':' + 'Remodeling_Subtype' : 'Remodeling_Subtype',
895
- // label: 'What type of remodeling work do you need?',
896
- options: [
897
- 'Interior Designer',
898
- 'Interior Decorator',
899
- 'Kitchen Remodeling',
900
- 'Bathroom Remodeling',
901
- 'Garage Remodeling',
902
- 'Home Remodeling',
903
- 'Dumpster Rental',
904
- 'Landscape Architect',
905
- 'Outdoor Kitchen',
906
- 'Outdoor Enclosure',
907
- 'Additions',
908
- 'Not Sure or Other'
909
- ]
910
- });
911
-
912
- const roofingWorkType$1 = (scope) => verticalRadio({
913
- name: scope ? scope + ':' + 'Roofing_Work_Type' : 'Roofing_Work_Type',
914
- // label: 'What type of roofing work do you need?',
915
- options: [
916
- 'Install or Replace Roof',
917
- 'Repair Roof',
918
- 'Ice Dams',
919
- 'Gutters',
920
- 'Not Sure or Other'
921
- ]
922
- });
923
-
924
- const roofingMaterial$1 = (scope) => verticalSelect({
925
- name: scope ? scope + ':' + 'Roofing_Material' : 'Roofing_Material',
926
- // label: 'What type of roofing material?',
927
- options: [
928
- 'Asphalt Shingle',
929
- 'Metal',
930
- 'Composite',
931
- 'Flat',
932
- 'Foam',
933
- 'Tile',
934
- 'Wood',
935
- 'Slate',
936
- 'Not Sure or Other'
937
- ]
938
- });
939
-
940
- const sidingMaterial$1 = (scope) => verticalRadio({
941
- name: scope ? scope + ':' + 'Siding_Material' : 'Siding_Material',
942
- // label: 'What type of siding material?',
943
- options: [
944
- 'Vinyl',
945
- 'Composite',
946
- 'Brick',
947
- 'Stone',
948
- 'Wood',
949
- 'Stucco',
950
- 'Not Sure or Other'
951
- ]
952
- });
953
-
954
- const tilingSubtype$1 = (scope) => verticalRadio({
955
- name: scope ? scope + ':' + 'Tiling_Subtype' : 'Tiling_Subtype',
956
- // label: 'What type of tiling work do you need?',
957
- options: [
958
- 'Floor',
959
- 'Backsplash',
960
- 'Bathroom',
961
- 'Wall',
962
- 'Not Sure or Other'
963
- ]
964
- });
965
-
966
- const waterproofingSubtype$1 = (scope) => verticalRadio({
967
- name: scope ? scope + ':' + 'Waterproofing_Subtype' : 'Waterproofing_Subtype',
968
- // label: 'What type of waterproofing work do you need?',
969
- options: [
970
- 'Foundations',
971
- 'Basements',
972
- 'Drainage',
973
- 'Not Sure or Other'
974
- ]
975
- });
976
-
977
- const windowsWorkType$1 = (scope) => verticalRadio({
978
- name: scope ? scope + ':' + 'Windows_Work_Type' : 'Windows_Work_Type',
979
- // label: 'What type of windows work do you need?',
980
- options: [
981
- 'Install or Replace',
982
- 'Repair',
983
- 'Cleaning',
984
- 'Not Sure or Other'
985
- ]
986
- });
987
-
988
- const windowsSubtype$1 = (scope) => verticalSelect({
989
- name: scope ? scope + ':' + 'Windows_Subtype' : 'Windows_Subtype',
990
- // label: 'What type of windows do you have?',
991
- options: [
992
- 'Whole Windows',
993
- 'Frames',
994
- 'Glass',
995
- 'Hardware',
996
- 'Storm Windows',
997
- 'Screens',
998
- 'Not Sure or Other'
999
- ]
1000
- });
1001
-
1002
- const numberOfWindows$1 = (scope) => verticalRadio({
1003
- name: scope ? scope + ':' + 'Number_Of_Windows' : 'Number_Of_Windows',
1004
- // label: 'How many windows?',
1005
- options: [
1006
- '1',
1007
- '2',
1008
- '3-5',
1009
- '6+'
1010
- ]
1011
- });
1012
-
1013
- const NEXT_ON_ENTER = '$onEnter($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))';
1014
- const NEXT_ON_INPUT = '$onInput($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))';
1015
-
1016
- const isInput = (n) => { return (n.type !== 'group' && n.type !== 'section' && n.type !== 'form' && n.$formkit !== 'hidden' && !n.children) };
731
+ const paintingSubtype$1 = (scope) =>
732
+ verticalSelect({
733
+ name: scope ? scope + ":" + "Painting_Subtype" : "Painting_Subtype",
734
+ // label: 'What type of painting work do you need?',
735
+ options: [
736
+ "Whole Exterior",
737
+ "Exterior Touch-up",
738
+ "Interior Rooms",
739
+ "Interior Touch-up",
740
+ "Ceilings",
741
+ "Deck",
742
+ "Shed",
743
+ "Cabinets",
744
+ "Not Sure or Other",
745
+ ],
746
+ });
747
+
748
+ const paintingRooms$1 = (scope) =>
749
+ verticalRadio({
750
+ name: scope ? scope + ":" + "Painting_Rooms" : "Painting_Rooms",
751
+ // label: 'How many rooms need painting?',
752
+ options: ["1-2", "3-4", "4-5", "5-6", "6+"],
753
+ });
754
+
755
+ const pestControlSubtype$1 = (scope) =>
756
+ verticalSelect({
757
+ name: scope ? scope + ":" + "Pest_Control_Subtype" : "Pest_Control_Subtype",
758
+ // label: 'What type of pest control work do you need?',
759
+ options: [
760
+ "Bed Bugs",
761
+ "Flying Animals",
762
+ "Insects",
763
+ "Rodents",
764
+ "Small Animals",
765
+ "Bees",
766
+ "Termites",
767
+ "Not Sure or Other",
768
+ ],
769
+ });
770
+
771
+ const poolsWorkType$1 = (scope) =>
772
+ verticalRadio({
773
+ name: scope ? scope + ":" + "Pools_Work_Type" : "Pools_Work_Type",
774
+ // label: 'What type of pool work do you need?',
775
+ options: ["Install or Replace", "Repair", "Cleaning", "Close or Open Pool", "Not Sure or Other"],
776
+ });
777
+
778
+ const poolsSubtype$1 = (scope) =>
779
+ verticalSelect({
780
+ name: scope ? scope + ":" + "Pools_Subtype" : "Pools_Subtype",
781
+ // label: 'What type of pool do you have?',
782
+ options: [
783
+ "Above Ground",
784
+ "Inground Concrete",
785
+ "Inground Fiberglass",
786
+ "Inground Vinyl",
787
+ "Inground Gunite",
788
+ "Pool Liners",
789
+ "Pool Filters",
790
+ "Not Sure or Other",
791
+ ],
792
+ });
793
+
794
+ const plumbingSubtype$1 = (scope) =>
795
+ verticalSelect({
796
+ name: scope ? scope + ":" + "Plumbing_Subtype" : "Plumbing_Subtype",
797
+ // label: 'What type of plumbing work do you need?',
798
+ options: [
799
+ "Tub or Shower",
800
+ "Drain",
801
+ "Sink",
802
+ "Toilet",
803
+ "Boiler",
804
+ "Water Heater",
805
+ "Sump Pump",
806
+ "Piping",
807
+ "Septic",
808
+ "Water Main",
809
+ "Hot Tub",
810
+ "Additions and Remodels",
811
+ "Not Sure or Other",
812
+ ],
813
+ });
814
+
815
+ const remodelingSubtype$1 = (scope) =>
816
+ verticalSelect({
817
+ name: scope ? scope + ":" + "Remodeling_Subtype" : "Remodeling_Subtype",
818
+ // label: 'What type of remodeling work do you need?',
819
+ options: [
820
+ "Interior Designer",
821
+ "Interior Decorator",
822
+ "Kitchen Remodeling",
823
+ "Bathroom Remodeling",
824
+ "Garage Remodeling",
825
+ "Home Remodeling",
826
+ "Dumpster Rental",
827
+ "Landscape Architect",
828
+ "Outdoor Kitchen",
829
+ "Outdoor Enclosure",
830
+ "Additions",
831
+ "Not Sure or Other",
832
+ ],
833
+ });
834
+
835
+ const roofingWorkType$1 = (scope) =>
836
+ verticalRadio({
837
+ name: scope ? scope + ":" + "Roofing_Work_Type" : "Roofing_Work_Type",
838
+ // label: 'What type of roofing work do you need?',
839
+ options: ["Install or Replace Roof", "Repair Roof", "Ice Dams", "Gutters", "Not Sure or Other"],
840
+ });
841
+
842
+ const roofingMaterial$1 = (scope) =>
843
+ verticalSelect({
844
+ name: scope ? scope + ":" + "Roofing_Material" : "Roofing_Material",
845
+ // label: 'What type of roofing material?',
846
+ options: ["Asphalt Shingle", "Metal", "Composite", "Flat", "Foam", "Tile", "Wood", "Slate", "Not Sure or Other"],
847
+ });
848
+
849
+ const sidingMaterial$1 = (scope) =>
850
+ verticalRadio({
851
+ name: scope ? scope + ":" + "Siding_Material" : "Siding_Material",
852
+ // label: 'What type of siding material?',
853
+ options: ["Vinyl", "Composite", "Brick", "Stone", "Wood", "Stucco", "Not Sure or Other"],
854
+ });
855
+
856
+ const tilingSubtype$1 = (scope) =>
857
+ verticalRadio({
858
+ name: scope ? scope + ":" + "Tiling_Subtype" : "Tiling_Subtype",
859
+ // label: 'What type of tiling work do you need?',
860
+ options: ["Floor", "Backsplash", "Bathroom", "Wall", "Not Sure or Other"],
861
+ });
862
+
863
+ const waterproofingSubtype$1 = (scope) =>
864
+ verticalRadio({
865
+ name: scope ? scope + ":" + "Waterproofing_Subtype" : "Waterproofing_Subtype",
866
+ // label: 'What type of waterproofing work do you need?',
867
+ options: ["Foundations", "Basements", "Drainage", "Not Sure or Other"],
868
+ });
869
+
870
+ const windowsWorkType$1 = (scope) =>
871
+ verticalRadio({
872
+ name: scope ? scope + ":" + "Windows_Work_Type" : "Windows_Work_Type",
873
+ // label: 'What type of windows work do you need?',
874
+ options: ["Install or Replace", "Repair", "Cleaning", "Not Sure or Other"],
875
+ });
876
+
877
+ const windowsSubtype$1 = (scope) =>
878
+ verticalSelect({
879
+ name: scope ? scope + ":" + "Windows_Subtype" : "Windows_Subtype",
880
+ // label: 'What type of windows do you have?',
881
+ options: ["Whole Windows", "Frames", "Glass", "Hardware", "Storm Windows", "Screens", "Not Sure or Other"],
882
+ });
883
+
884
+ const numberOfWindows$1 = (scope) =>
885
+ verticalRadio({
886
+ name: scope ? scope + ":" + "Number_Of_Windows" : "Number_Of_Windows",
887
+ // label: 'How many windows?',
888
+ options: ["1", "2", "3-5", "6+"],
889
+ });
890
+
891
+ const NEXT_ON_ENTER = "$onEnter($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))";
892
+ const NEXT_ON_INPUT = "$onInput($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))";
893
+
894
+ const isInput = (n) => {
895
+ return n.type !== "group" && n.type !== "section" && n.type !== "form" && n.$formkit !== "hidden" && !n.children
896
+ };
1017
897
 
1018
898
  const findLastInput = (n) => {
1019
899
  if (isInput(n)) {
1020
900
  return n
1021
901
  }
1022
902
  for (var i = n.children.length - 1; i >= 0; i--) {
1023
- if (typeof n.children === 'string') {
903
+ if (typeof n.children === "string") {
1024
904
  continue
1025
905
  }
1026
906
  const child = n.children[i];
@@ -1036,99 +916,114 @@ const findLastInput = (n) => {
1036
916
  };
1037
917
 
1038
918
  const secureIconDefault = {
1039
- $el: 'div',
1040
- if: '$activeStep === $lastStep()',
919
+ $el: "div",
920
+ if: "$activeStep === $lastStep()",
1041
921
  attrs: {
1042
- class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
922
+ class: "t-flex t-justify-center t-items-center t-text-sm t-text-gray-500",
1043
923
  },
1044
924
  children: [
1045
925
  {
1046
- $el: 'img',
926
+ $el: "img",
1047
927
  attrs: {
1048
- loading: 'lazy',
1049
- alt: '',
928
+ loading: "lazy",
929
+ alt: "",
1050
930
  style: {
1051
- border: 0
931
+ border: 0,
1052
932
  },
1053
- width: '25',
1054
- height: '25',
1055
- src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
1056
- }
933
+ width: "25",
934
+ height: "25",
935
+ src: "https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg",
936
+ },
1057
937
  },
1058
938
  {
1059
- $el: 'span',
1060
- children: 'Secure & Encrypted',
939
+ $el: "span",
940
+ children: "Secure & Encrypted",
1061
941
  attrs: {
1062
- class: 't-pl-2 t-pt-1 t-font-medium'
1063
- }
1064
- }
1065
- ]
942
+ class: "t-pl-2 t-pt-1 t-font-medium",
943
+ },
944
+ },
945
+ ],
1066
946
  };
1067
947
 
1068
948
  function secureIcon(updates) {
1069
- return merge(
1070
- secureIconDefault,
1071
- updates
1072
- )
949
+ return merge(secureIconDefault, updates)
1073
950
  }
1074
951
 
1075
952
  function verticalStepHeadline(updates) {
1076
953
  return {
1077
- $el: 'h3',
1078
- children: updates.headline || 'Tell Us About Your Situation',
954
+ $el: "h3",
955
+ children: updates.headline || "Tell Us About Your Situation",
1079
956
  attrs: {
1080
- class: 't-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-dark t-pb-5 t-pt-0 t-px-1' + ' ' + (updates.headlineClass || '')
1081
- }
957
+ class:
958
+ "t-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-dark t-pb-5 t-pt-0 t-px-1" +
959
+ " " +
960
+ (updates.headlineClass || ""),
961
+ },
1082
962
  }
1083
963
  }
1084
964
 
1085
965
  function verticalStepSubHeadline(updates) {
1086
966
  return {
1087
- $el: 'h5',
1088
- children: updates.subheadline || '',
967
+ $el: "h5",
968
+ children: updates.subheadline || "",
1089
969
  attrs: {
1090
- 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' + ' ' + (updates.subheadlineClass || '')
1091
- }
970
+ class:
971
+ "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" +
972
+ " " +
973
+ (updates.subheadlineClass || ""),
974
+ },
1092
975
  }
1093
976
  }
1094
977
 
1095
978
  function commentsStepHeadline(updates) {
1096
979
  return {
1097
- $el: 'h3',
1098
- children: updates.headline || 'Additional Details',
980
+ $el: "h3",
981
+ children: updates.headline || "Additional Details",
1099
982
  attrs: {
1100
- 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' + ' ' + (updates.headlineClass || '')
1101
- }
983
+ class:
984
+ "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" +
985
+ " " +
986
+ (updates.headlineClass || ""),
987
+ },
1102
988
  }
1103
989
  }
1104
990
 
1105
991
  function firstAndLastStepHeadline(updates) {
1106
992
  return {
1107
- $el: 'h3',
1108
- children: updates.headline || 'Please Provide a Contact Name',
993
+ $el: "h3",
994
+ children: updates.headline || "Please Provide a Contact Name",
1109
995
  attrs: {
1110
- 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' + ' ' + (updates.headlineClass || '')
1111
- }
996
+ class:
997
+ "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" +
998
+ " " +
999
+ (updates.headlineClass || ""),
1000
+ },
1112
1001
  }
1113
1002
  }
1114
1003
 
1115
1004
  function contactStepHeadline(updates) {
1116
1005
  return {
1117
- $el: 'h3',
1006
+ $el: "h3",
1118
1007
  children: updates.headline || DEFAULT_FINAL_HEADLINE_DYNAMIC_LEGAL,
1119
1008
  attrs: {
1120
- 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' + ' ' + (updates.headlineClass || '')
1121
- }
1009
+ class:
1010
+ "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" +
1011
+ " " +
1012
+ (updates.headlineClass || ""),
1013
+ },
1122
1014
  }
1123
1015
  }
1124
1016
 
1125
1017
  function contactStepSubHeadline(updates) {
1126
1018
  return {
1127
- $el: 'h5',
1019
+ $el: "h5",
1128
1020
  children: updates.subheadline || DEFAULT_FINAL_SUBHEADLINE_DYNAMIC_LEGAL,
1129
1021
  attrs: {
1130
- class: 't-flex t-justify-center t-text-center !t-text-lg t-font-semibold t-pb-7 t-pt-0 t-px-3' + ' ' + (updates.subheadlineClass || '')
1131
- }
1022
+ class:
1023
+ "t-flex t-justify-center t-text-center !t-text-lg t-font-semibold t-pb-7 t-pt-0 t-px-3" +
1024
+ " " +
1025
+ (updates.subheadlineClass || ""),
1026
+ },
1132
1027
  }
1133
1028
  }
1134
1029
 
@@ -1150,19 +1045,19 @@ const TRUSTED_FORM_JS = `(function() {
1150
1045
 
1151
1046
  function trustedFormScript() {
1152
1047
  return {
1153
- $el: 'script',
1154
- if: '$activeStep === $lastStep()',
1155
- children: TRUSTED_FORM_JS
1048
+ $el: "script",
1049
+ if: "$activeStep === $lastStep()",
1050
+ children: TRUSTED_FORM_JS,
1156
1051
  }
1157
1052
  }
1158
1053
 
1159
1054
  const stepDefaults = (step, stepKey) => ({
1160
- $el: 'section',
1055
+ $el: "section",
1161
1056
  if: '$stepEnabled("' + step + '")',
1162
1057
  attrs: {
1163
1058
  hidden: '$activeStep !== "' + step + '"',
1164
- key: stepKey ? stepKey : step
1165
- }
1059
+ key: stepKey ? stepKey : step,
1060
+ },
1166
1061
  });
1167
1062
 
1168
1063
  function step(name, inputs, updates = {}) {
@@ -1185,388 +1080,107 @@ function step(name, inputs, updates = {}) {
1185
1080
  }
1186
1081
  }
1187
1082
 
1188
- return merge(
1189
- stepDefaults(name, stepKey),
1190
- {
1191
- children: [
1192
- {
1193
- $formkit: 'group',
1194
- id: name,
1195
- name: name,
1196
- nextStepMap: nextStepMap,
1197
- triggerRedirectMap: triggerRedirectMap,
1198
- autoFocus: autoFocus,
1199
- children: inputs
1200
- }
1201
- ]
1202
- }
1203
- )
1083
+ return merge(stepDefaults(name, stepKey), {
1084
+ children: [
1085
+ {
1086
+ $formkit: "group",
1087
+ id: name,
1088
+ name: name,
1089
+ nextStepMap: nextStepMap,
1090
+ triggerRedirectMap: triggerRedirectMap,
1091
+ autoFocus: autoFocus,
1092
+ children: inputs,
1093
+ },
1094
+ ],
1095
+ })
1204
1096
  }
1205
1097
 
1206
1098
  // Single question step
1207
1099
  function sqstep(name, input, defaultHeadline, updates = {}) {
1208
- if (typeof updates.nextOnInput === 'undefined') {
1100
+ if (typeof updates.nextOnInput === "undefined") {
1209
1101
  updates.nextOnInput = true;
1210
1102
  }
1211
-
1212
- return step(
1213
- name,
1214
- [
1215
- verticalStepHeadline({ headline: updates.headline ?? defaultHeadline, headlineClass: updates.headlineClass }),
1216
- ...Array.isArray(input) ? input : [input],
1217
- ],
1218
- updates
1219
- )
1220
- }
1221
-
1222
1103
 
1223
- // ------ Common Steps
1224
-
1225
- function address(updates = {}) {
1226
- updates.nextOnInput = typeof updates.nextOnInput === 'undefined' ? false : updates.nextOnInput;
1227
- return sqstep(
1228
- 'address',
1229
- address$1(updates.scope, true),
1230
- 'What is the street address of the home?',
1231
- updates
1232
- )
1233
- }
1234
-
1235
- function commentsHeadline(updates = {}) {
1236
- const mergedUpdates = { ...updates, nextOnEnter: false };
1237
-
1238
- return step(
1239
- 'comments',
1240
- [
1241
- commentsStepHeadline(updates),
1242
- comments({
1243
- label: typeof updates.label === 'undefined' ? DEFAULT_COMMENTS_LABEL : updates.label,
1244
- placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
1245
- inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-32' : updates.inputClass,
1246
- }, updates.scope),
1247
- ],
1248
- mergedUpdates
1249
- )
1250
- }
1251
-
1252
- function contactInfo(updates = {}) {
1253
1104
  return step(
1254
- 'contactInfo',
1255
- [
1256
- contactStepHeadline(updates),
1257
- contactStepSubHeadline(updates),
1258
- trustedFormScript(),
1259
- email(updates.scope),
1260
- phone(updates.scope),
1261
- TCPAConsent(updates.scope),
1262
- secureIcon()
1263
- ],
1264
- { nextOnEnter: false }
1265
- )
1266
- }
1267
-
1268
- function firstAndLastV3(updates = {}, scope) {
1269
- return step(
1270
- 'firstAndLast',
1105
+ name,
1271
1106
  [
1272
- firstAndLastStepHeadline({
1273
- headline: updates.headline ?? 'Who is looking for help?',
1274
- headlineClass: updates.headlineClass
1107
+ verticalStepHeadline({
1108
+ headline: updates.headline ?? defaultHeadline,
1109
+ headlineClass: updates.headlineClass,
1275
1110
  }),
1276
- verticalStepSubHeadline({
1277
- subheadline: updates.subheadline ?? 'Note: we never share info without consent',
1278
- subheadlineClass: '!t-text-sm !t-text-gray-500'
1279
- }),
1280
- firstName(scope),
1281
- lastName(scope)
1111
+ ...(Array.isArray(input) ? input : [input]),
1282
1112
  ],
1283
1113
  updates
1284
- )
1285
- }
1286
-
1287
- function zipcode(updates = {}) {
1288
- return sqstep(
1289
- 'zipcode',
1290
- zipcode$1(updates.scope, true, updates),
1291
- 'Please verify your Zip Code',
1292
- updates
1293
- )
1294
- }
1295
-
1296
- // export function electricalCrossSellQuestions(updates = {}) {
1297
- // return step(
1298
- // 'electricalCrossSellQuestions',
1299
- // [
1300
- // crossSellQuestionsStepHeadline({ headline: 'Connect With A Pro Electrician' }),
1301
- // crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your electrical needs:' }),
1302
- // inp.ElectricalQuestions("true", 'CrossSell:Electrical'),
1303
- // inp.comments(
1304
- // {
1305
- // label: 'Project Description:',
1306
- // placeholder: 'Please describe your project in a few words...',
1307
- // inputClass: '!t-h-16'
1308
- // },
1309
- // 'CrossSell:Electrical'
1310
- // )
1311
- // ],
1312
- // updates
1313
- // )
1314
- // }
1315
-
1316
- // export function appliancesCrossSellQuestions(updates = {}) {
1317
- // return step(
1318
- // 'appliancesCrossSellQuestions',
1319
- // [
1320
- // crossSellQuestionsStepHeadline({ headline: 'Connect With An Appliance Pro' }),
1321
- // crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your appliance needs:' }),
1322
- // inp.AppliancesQuestions("true", 'CrossSell:Appliances'),
1323
- // inp.comments(
1324
- // {
1325
- // label: 'Project Description:',
1326
- // placeholder: 'Please describe your project in a few words...',
1327
- // inputClass: '!t-h-16'
1328
- // },
1329
- // 'CrossSell:Appliances'
1330
- // )
1331
- // ],
1332
- // updates
1333
- // )
1334
- // }
1335
-
1336
- // export function carpentryCrossSellQuestions(updates = {}) {
1337
- // return step(
1338
- // 'carpentryCrossSellQuestions',
1339
- // [
1340
- // crossSellQuestionsStepHeadline({ headline: 'Connect With A Pro Carpenter' }),
1341
- // crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your carpentry needs:' }),
1342
- // inp.CarpentryQuestions("true", 'CrossSell:Carpentry'),
1343
- // inp.comments(
1344
- // {
1345
- // label: 'Project Description:',
1346
- // placeholder: 'Please describe your project in a few words...',
1347
- // inputClass: '!t-h-16'
1348
- // },
1349
- // 'CrossSell:Carpentry'
1350
- // )
1351
- // ],
1352
- // updates
1353
- // )
1354
- // }
1355
-
1356
- // export function masonryAndConcreteCrossSellQuestions(updates = {}) {
1357
- // return step(
1358
- // 'masonryCrossSellQuestions',
1359
- // [
1360
- // crossSellQuestionsStepHeadline({ headline: 'Connect With A Masonry Pro' }),
1361
- // crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your masonry needs:' }),
1362
- // inp.MasonryAndConcreteQuestions("true", 'CrossSell:Masonry and Concrete'),
1363
- // inp.comments(
1364
- // {
1365
- // label: 'Project Description:',
1366
- // placeholder: 'Please describe your project in a few words...',
1367
- // inputClass: '!t-h-16'
1368
- // },
1369
- // 'CrossSell:Masonry and Concrete'
1370
- // )
1371
- // ],
1372
- // updates
1373
- // )
1374
- // }
1375
-
1376
- // export function drivewaysCrossSellQuestions(updates = {}) {
1377
- // return step(
1378
- // 'drivewayCrossSellQuestions',
1379
- // [
1380
- // crossSellQuestionsStepHeadline({ headline: 'Connect With A Driveway Pro' }),
1381
- // crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your driveway needs:' }),
1382
- // inp.DrivewaysQuestions("true", 'CrossSell:Driveways'),
1383
- // inp.comments(
1384
- // {
1385
- // label: 'Project Description:',
1386
- // placeholder: 'Please describe your project in a few words...',
1387
- // inputClass: '!t-h-16'
1388
- // },
1389
- // 'CrossSell:Driveways'
1390
- // )
1391
- // ],
1392
- // updates
1393
- // )
1394
- // }
1395
-
1396
- // export function drywallAndPlasterCrossSellQuestions(updates = {}) {
1397
- // return step(
1398
- // 'drywallCrossSellQuestions',
1399
- // [
1400
- // crossSellQuestionsStepHeadline({ headline: 'Connect With A Drywall Pro' }),
1401
- // crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your drywall needs:' }),
1402
- // inp.DrywallAndPlasterQuestions("true", 'CrossSell:Drywall and Plaster'),
1403
- // inp.comments(
1404
- // {
1405
- // label: 'Project Description:',
1406
- // placeholder: 'Please describe your project in a few words...',
1407
- // inputClass: '!t-h-16'
1408
- // },
1409
- // 'CrossSell:Drywall and Plaster'
1410
- // )
1411
- // ],
1412
- // updates
1413
- // )
1414
- // }
1415
-
1416
- // export function heatingAndCoolingCrossSellQuestions(updates = {}) {
1417
- // return step(
1418
- // 'heatingCoolingCrossSellQuestions',
1419
- // [
1420
- // crossSellQuestionsStepHeadline({ headline: 'Connect With An HVAC Pro' }),
1421
- // crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your heating and cooling needs:' }),
1422
- // inp.HeatingAndCoolingQuestions("true", 'CrossSell:Heating and Cooling'),
1423
- // inp.comments(
1424
- // {
1425
- // label: 'Project Description:',
1426
- // placeholder: 'Please describe your project in a few words...',
1427
- // },
1428
- // 'CrossSell:Heating and Cooling'
1429
- // )
1430
- // ],
1431
- // updates
1432
- // )
1433
- // }
1434
-
1435
- // export function landscapingCrossSellQuestions(updates = {}) {
1436
- // return step(
1437
- // 'landscapingCrossSellQuestions',
1438
- // [
1439
- // crossSellQuestionsStepHeadline({ headline: 'Connect With A Landscaping Pro' }),
1440
- // crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your landscaping needs:' }),
1441
- // inp.LandscapingQuestions("true", 'CrossSell:Landscaping'),
1442
- // inp.comments(
1443
- // {
1444
- // label: 'Project Description:',
1445
- // placeholder: 'Please describe your project in a few words...',
1446
- // },
1447
- // 'CrossSell:Landscaping'
1448
- // )
1449
- // ],
1450
- // updates
1451
- // )
1452
- // }
1114
+ )
1115
+ }
1453
1116
 
1454
- // export function pestControlCrossSellQuestions(updates = {}) {
1455
- // return step(
1456
- // 'pestControlCrossSellQuestions',
1457
- // [
1458
- // crossSellQuestionsStepHeadline({ headline: 'Connect With A Pest Control Pro' }),
1459
- // crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your pest control needs:' }),
1460
- // inp.PestControlQuestions("true", 'CrossSell:Pest Control'),
1461
- // inp.comments(
1462
- // {
1463
- // label: 'Project Description:',
1464
- // placeholder: 'Please describe your project in a few words...',
1465
- // },
1466
- // 'CrossSell:Pest Control'
1467
- // )
1468
- // ],
1469
- // updates
1470
- // )
1471
- // }
1117
+ // ------ Common Steps
1472
1118
 
1473
- // export function sidingCrossSellQuestions(updates = {}) {
1474
- // return step(
1475
- // 'sidingCrossSellQuestions',
1476
- // [
1477
- // crossSellQuestionsStepHeadline({ headline: 'Connect With A Siding Pro' }),
1478
- // crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your siding needs:' }),
1479
- // inp.SidingQuestions("true", 'CrossSell:Siding'),
1480
- // inp.comments(
1481
- // {
1482
- // label: 'Project Description:',
1483
- // placeholder: 'Please describe your project in a few words...',
1484
- // },
1485
- // 'CrossSell:Siding'
1486
- // )
1487
- // ],
1488
- // updates
1489
- // )
1490
- // }
1119
+ function address(updates = {}) {
1120
+ updates.nextOnInput = typeof updates.nextOnInput === "undefined" ? false : updates.nextOnInput;
1121
+ return sqstep(
1122
+ "address",
1123
+ address$1(updates.scope, true, updates.input),
1124
+ "What is the street address of the home?",
1125
+ updates
1126
+ )
1127
+ }
1491
1128
 
1492
- // export function windowsCrossSellQuestions(updates = {}) {
1493
- // return step(
1494
- // 'windowsCrossSellQuestions',
1495
- // [
1496
- // crossSellQuestionsStepHeadline({ headline: 'Connect With A Window Pro' }),
1497
- // crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your window needs:' }),
1498
- // inp.WindowsQuestions("true", 'CrossSell:Windows'),
1499
- // inp.comments(
1500
- // {
1501
- // label: 'Project Description:',
1502
- // placeholder: 'Please describe your project in a few words...',
1503
- // },
1504
- // 'CrossSell:Windows'
1505
- // )
1506
- // ],
1507
- // updates
1508
- // )
1509
- // }
1129
+ function commentsHeadline(updates = {}) {
1130
+ const mergedUpdates = { ...updates, nextOnEnter: false };
1510
1131
 
1511
- // export function flooringCrossSellQuestions(updates = {}) {
1512
- // return step(
1513
- // 'flooringCrossSellQuestions',
1514
- // [
1515
- // crossSellQuestionsStepHeadline({ headline: 'Connect With A Flooring Pro' }),
1516
- // crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your flooring needs:' }),
1517
- // inp.FlooringQuestions("true", 'CrossSell:Flooring'),
1518
- // inp.comments(
1519
- // {
1520
- // label: 'Project Description:',
1521
- // placeholder: 'Please describe your project in a few words...',
1522
- // inputClass: '!t-h-16'
1523
- // },
1524
- // 'CrossSell:Flooring'
1525
- // )
1526
- // ],
1527
- // updates
1528
- // )
1529
- // }
1132
+ return step(
1133
+ "comments",
1134
+ [
1135
+ commentsStepHeadline(updates),
1136
+ comments(updates.scope, false, {
1137
+ label: typeof updates.label === "undefined" ? DEFAULT_COMMENTS_LABEL : updates.label,
1138
+ placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
1139
+ inputClass: typeof updates.inputClass === "undefined" ? "!t-h-32" : updates.inputClass,
1140
+ }),
1141
+ ],
1142
+ mergedUpdates
1143
+ )
1144
+ }
1530
1145
 
1531
- // export function paintingCrossSellQuestions(updates = {}) {
1532
- // return step(
1533
- // 'paintingCrossSellQuestions',
1534
- // [
1535
- // crossSellQuestionsStepHeadline({ headline: 'Connect With A Pro Painter' }),
1536
- // crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your painting needs:' }),
1537
- // inp.PaintingQuestions("true", 'CrossSell:Painting'),
1538
- // inp.comments(
1539
- // {
1540
- // label: 'Project Description:',
1541
- // placeholder: 'Please describe your project in a few words...',
1542
- // inputClass: '!t-h-16'
1543
- // },
1544
- // 'CrossSell:Painting'
1545
- // )
1546
- // ],
1547
- // updates
1548
- // )
1549
- // }
1146
+ function contactInfo(updates = {}) {
1147
+ return step(
1148
+ "contactInfo",
1149
+ [
1150
+ contactStepHeadline(updates),
1151
+ contactStepSubHeadline(updates),
1152
+ trustedFormScript(),
1153
+ email(updates.scope),
1154
+ phone(updates.scope),
1155
+ TCPAConsent(updates.scope),
1156
+ secureIcon(),
1157
+ ],
1158
+ { nextOnEnter: false }
1159
+ )
1160
+ }
1550
1161
 
1551
- // export function plumbingCrossSellQuestions(updates = {}) {
1552
- // return step(
1553
- // 'plumbingCrossSellQuestions',
1554
- // [
1555
- // crossSellQuestionsStepHeadline({ headline: 'Connect With A Local Plumber' }),
1556
- // crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your plumbing needs:' }),
1557
- // inp.PlumbingQuestions("true", 'CrossSell:Plumbing'),
1558
- // inp.comments(
1559
- // {
1560
- // label: 'Project Description:',
1561
- // placeholder: 'Please describe your project in a few words...',
1562
- // inputClass: '!t-h-16'
1563
- // },
1564
- // 'CrossSell:Plumbing'
1565
- // )
1566
- // ],
1567
- // updates
1568
- // )
1569
- // }
1162
+ function firstAndLastV3(updates = {}) {
1163
+ return step(
1164
+ "firstAndLast",
1165
+ [
1166
+ firstAndLastStepHeadline({
1167
+ headline: updates.headline ?? "Who is looking for help?",
1168
+ headlineClass: updates.headlineClass,
1169
+ }),
1170
+ verticalStepSubHeadline({
1171
+ subheadline: updates.subheadline ?? "Note: we never share info without consent",
1172
+ subheadlineClass: "!t-text-sm !t-text-gray-500",
1173
+ }),
1174
+ firstName(updates.scope),
1175
+ lastName(updates.scope),
1176
+ ],
1177
+ updates
1178
+ )
1179
+ }
1180
+
1181
+ function zipcode(updates = {}) {
1182
+ return sqstep("zipcode", zipcode$1(updates.scope, true, updates.input), "Please verify your Zip Code", updates)
1183
+ }
1570
1184
 
1571
1185
  // export function remodelingCrossSellQuestions(updates = {}) {
1572
1186
  // return step(
@@ -1575,13 +1189,12 @@ function zipcode(updates = {}) {
1575
1189
  // crossSellQuestionsStepHeadline({ headline: 'Connect With A Pro Remodeler' }),
1576
1190
  // crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your remodeling needs:' }),
1577
1191
  // inp.RemodelingQuestions("true", 'CrossSell:Remodeling'),
1578
- // inp.comments(
1192
+ // inp.comments('CrossSell:Remodeling', false,
1579
1193
  // {
1580
1194
  // label: 'Project Description:',
1581
1195
  // placeholder: 'Please describe your project in a few words...',
1582
1196
  // inputClass: '!t-h-16'
1583
1197
  // },
1584
- // 'CrossSell:Remodeling'
1585
1198
  // )
1586
1199
  // ],
1587
1200
  // updates
@@ -1595,13 +1208,12 @@ function zipcode(updates = {}) {
1595
1208
  // crossSellQuestionsStepHeadline({ headline: 'Connect With A Pro Roofer' }),
1596
1209
  // crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your roofing needs:' }),
1597
1210
  // inp.RoofingQuestions("true", 'CrossSell:Roofing'),
1598
- // inp.comments(
1211
+ // inp.comments('CrossSell:Roofing', false,
1599
1212
  // {
1600
1213
  // label: 'Project Description:',
1601
1214
  // placeholder: 'Please describe your project in a few words...',
1602
1215
  // inputClass: '!t-h-16'
1603
1216
  // },
1604
- // 'CrossSell:Roofing'
1605
1217
  // )
1606
1218
  // ],
1607
1219
  // updates
@@ -1609,326 +1221,300 @@ function zipcode(updates = {}) {
1609
1221
  // }
1610
1222
 
1611
1223
  function homeImprovementCategory(updates = {}) {
1612
- return step(
1613
- 'homeImprovementCategory',
1614
- [
1615
- homeImprovementCategory$1(updates.input),
1616
- ],
1617
- updates
1618
- )
1224
+ return step("homeImprovementCategory", [homeImprovementCategory$1(updates.scope, false, updates.input)], updates)
1619
1225
  }
1620
1226
 
1621
1227
  function timeframe(updates = {}) {
1622
1228
  return sqstep(
1623
- 'timeframe',
1624
- timeframe$1(),
1625
- 'What is the project timeframe?',
1229
+ "timeframe",
1230
+ timeframe$1(updates.scope, true, updates.input),
1231
+ "What is the project timeframe?",
1626
1232
  updates
1627
1233
  )
1628
1234
  }
1629
1235
 
1630
1236
  function ownHome(updates = {}) {
1631
- return sqstep(
1632
- 'ownHome',
1633
- ownHome$1(),
1634
- 'Do you own the home?',
1635
- updates
1636
- )
1237
+ return sqstep("ownHome", ownHome$1(updates.scope, true, updates.input), "Do you own the home?", updates)
1637
1238
  }
1638
1239
 
1639
1240
  function additionsSubType(updates = {}) {
1640
1241
  return sqstep(
1641
- 'additionsSubType',
1642
- additionsSubType$1(),
1643
- 'What type of addition?',
1242
+ "additionsSubType",
1243
+ additionsSubType$1(updates.scope, true, updates.input),
1244
+ "What type of addition?",
1644
1245
  updates
1645
1246
  )
1646
1247
  }
1647
1248
 
1648
1249
  function constructionAreaSize(updates = {}) {
1649
1250
  return sqstep(
1650
- 'constructionAreaSize',
1651
- constructionAreaSize$1(),
1652
- 'What is the size of the construction area?',
1251
+ "constructionAreaSize",
1252
+ constructionAreaSize$1(updates.scope, true, updates.input),
1253
+ "What is the size of the construction area?",
1653
1254
  updates
1654
1255
  )
1655
1256
  }
1656
1257
 
1657
1258
  function homeImprovementWorkType(updates = {}) {
1658
1259
  return sqstep(
1659
- 'homeImprovementWorkType',
1660
- homeImprovementWorkType$1(),
1661
- 'What type of work?',
1260
+ "homeImprovementWorkType",
1261
+ homeImprovementWorkType$1(updates.scope, true, updates.input),
1262
+ "What type of work?",
1662
1263
  updates
1663
1264
  )
1664
1265
  }
1665
1266
 
1666
1267
  function applianceType(updates = {}) {
1667
1268
  return sqstep(
1668
- 'applianceType',
1669
- applianceType$1(),
1670
- 'What type of appliance?',
1269
+ "applianceType",
1270
+ applianceType$1(updates.scope, true, updates.input),
1271
+ "What type of appliance?",
1671
1272
  updates
1672
1273
  )
1673
1274
  }
1674
1275
 
1675
1276
  function cabinetWorkType(updates = {}) {
1676
1277
  return sqstep(
1677
- 'cabinetWorkType',
1678
- cabinetWorkType$1(),
1679
- 'What type of cabinet work?',
1278
+ "cabinetWorkType",
1279
+ cabinetWorkType$1(updates.scope, true, updates.input),
1280
+ "What type of cabinet work?",
1680
1281
  updates
1681
1282
  )
1682
1283
  }
1683
1284
 
1684
1285
  function carpentrySubtype(updates = {}) {
1685
1286
  return sqstep(
1686
- 'carpentrySubtype',
1687
- carpentrySubtype$1(),
1688
- 'What type of carpentry work?',
1287
+ "carpentrySubtype",
1288
+ carpentrySubtype$1(updates.scope, true, updates.input),
1289
+ "What type of carpentry work?",
1689
1290
  updates
1690
1291
  )
1691
1292
  }
1692
1293
 
1693
1294
  function carpetWorkType(updates = {}) {
1694
1295
  return sqstep(
1695
- 'carpetWorkType',
1696
- carpetWorkType$1(),
1697
- 'What type of carpet work?',
1296
+ "carpetWorkType",
1297
+ carpetWorkType$1(updates.scope, true, updates.input),
1298
+ "What type of carpet work?",
1698
1299
  updates
1699
1300
  )
1700
1301
  }
1701
1302
 
1702
1303
  function cleaningSubtype(updates = {}) {
1703
1304
  return sqstep(
1704
- 'cleaningSubtype',
1705
- cleaningSubtype$1(),
1706
- 'What type of cleaning?',
1305
+ "cleaningSubtype",
1306
+ cleaningSubtype$1(updates.scope, true, updates.input),
1307
+ "What type of cleaning?",
1707
1308
  updates
1708
1309
  )
1709
1310
  }
1710
1311
 
1711
1312
  function countertopMaterial(updates = {}) {
1712
1313
  return sqstep(
1713
- 'countertopMaterial',
1714
- countertopMaterial$1(),
1715
- 'What type of countertop material?',
1314
+ "countertopMaterial",
1315
+ countertopMaterial$1(updates.scope, true, updates.input),
1316
+ "What type of countertop material?",
1716
1317
  updates
1717
1318
  )
1718
1319
  }
1719
1320
 
1720
1321
  function deckWorkType(updates = {}) {
1721
1322
  return sqstep(
1722
- 'deckWorkType',
1723
- deckWorkType$1(),
1724
- 'What type of deck work?',
1323
+ "deckWorkType",
1324
+ deckWorkType$1(updates.scope, true, updates.input),
1325
+ "What type of deck work?",
1725
1326
  updates
1726
1327
  )
1727
1328
  }
1728
1329
 
1729
1330
  function demolitionSubtype(updates = {}) {
1730
1331
  return sqstep(
1731
- 'demolitionSubtype',
1732
- demolitionSubtype$1(),
1733
- 'What type of demolition?',
1332
+ "demolitionSubtype",
1333
+ demolitionSubtype$1(updates.scope, true, updates.input),
1334
+ "What type of demolition?",
1734
1335
  updates
1735
1336
  )
1736
1337
  }
1737
1338
 
1738
1339
  function doorSubtype(updates = {}) {
1739
- return sqstep(
1740
- 'doorSubtype',
1741
- doorSubtype$1(),
1742
- 'What type of door?',
1743
- updates
1744
- )
1340
+ return sqstep("doorSubtype", doorSubtype$1(updates.scope, true, updates.input), "What type of door?", updates)
1745
1341
  }
1746
1342
 
1747
1343
  function drivewayWorkType(updates = {}) {
1748
1344
  return sqstep(
1749
- 'drivewayWorkType',
1750
- drivewayWorkType$1(),
1751
- 'What type of driveway work?',
1345
+ "drivewayWorkType",
1346
+ drivewayWorkType$1(updates.scope, true, updates.input),
1347
+ "What type of driveway work?",
1752
1348
  updates
1753
1349
  )
1754
1350
  }
1755
1351
 
1756
1352
  function drivewayMaterial(updates = {}) {
1757
1353
  return sqstep(
1758
- 'drivewayMaterial',
1759
- drivewayMaterial$1(),
1760
- 'What type of driveway material?',
1354
+ "drivewayMaterial",
1355
+ drivewayMaterial$1(updates.scope, true, updates.input),
1356
+ "What type of driveway material?",
1761
1357
  updates
1762
1358
  )
1763
1359
  }
1764
1360
 
1765
1361
  function wallSurfaceType(updates = {}) {
1766
1362
  return sqstep(
1767
- 'wallSurfaceType',
1768
- wallSurfaceType$1(),
1769
- 'What type of surface?',
1363
+ "wallSurfaceType",
1364
+ wallSurfaceType$1(updates.scope, true, updates.input),
1365
+ "What type of surface?",
1770
1366
  updates
1771
1367
  )
1772
1368
  }
1773
1369
 
1774
1370
  function electricalSubtype(updates = {}) {
1775
1371
  return sqstep(
1776
- 'electricalSubtype',
1777
- electricalSubtype$1(),
1778
- 'What type of electrical work?',
1372
+ "electricalSubtype",
1373
+ electricalSubtype$1(updates.scope, true, updates.input),
1374
+ "What type of electrical work?",
1779
1375
  updates
1780
1376
  )
1781
1377
  }
1782
1378
 
1783
1379
  function fenceMaterial(updates = {}) {
1784
1380
  return sqstep(
1785
- 'fenceMaterial',
1786
- fenceMaterial$1(),
1787
- 'What type of fence material?',
1381
+ "fenceMaterial",
1382
+ fenceMaterial$1(updates.scope, true, updates.input),
1383
+ "What type of fence material?",
1788
1384
  updates
1789
1385
  )
1790
1386
  }
1791
1387
 
1792
1388
  function flooringMaterial(updates = {}) {
1793
1389
  return sqstep(
1794
- 'flooringMaterial',
1795
- flooringMaterial$1(),
1796
- 'What type of flooring material?',
1390
+ "flooringMaterial",
1391
+ flooringMaterial$1(updates.scope, true, updates.input),
1392
+ "What type of flooring material?",
1797
1393
  updates
1798
1394
  )
1799
1395
  }
1800
1396
 
1801
1397
  function generalContractorSubtype(updates = {}) {
1802
1398
  return sqstep(
1803
- 'generalContractorSubtype',
1804
- generalContractorSubtype$1(),
1805
- 'What type of general contractor work?',
1399
+ "generalContractorSubtype",
1400
+ generalContractorSubtype$1(updates.scope, true, updates.input),
1401
+ "What type of general contractor work?",
1806
1402
  updates
1807
1403
  )
1808
1404
  }
1809
1405
 
1810
1406
  function gutterMaterial(updates = {}) {
1811
1407
  return sqstep(
1812
- 'gutterMaterial',
1813
- gutterMaterial$1(),
1814
- 'What type of gutter material?',
1408
+ "gutterMaterial",
1409
+ gutterMaterial$1(updates.scope, true, updates.input),
1410
+ "What type of gutter material?",
1815
1411
  updates
1816
1412
  )
1817
1413
  }
1818
1414
 
1819
1415
  function guttersWorkType(updates = {}) {
1820
1416
  return sqstep(
1821
- 'guttersWorkType',
1822
- guttersWorkType$1(),
1823
- 'What type of gutter work?',
1417
+ "guttersWorkType",
1418
+ guttersWorkType$1(updates.scope, true, updates.input),
1419
+ "What type of gutter work?",
1824
1420
  updates
1825
1421
  )
1826
1422
  }
1827
1423
 
1828
1424
  function smartHomeSubtype(updates = {}) {
1829
1425
  return sqstep(
1830
- 'smartHomeSubtype',
1831
- smartHomeSubtype$1(),
1832
- 'What type of smart home work?',
1426
+ "smartHomeSubtype",
1427
+ smartHomeSubtype$1(updates.scope, true, updates.input),
1428
+ "What type of smart home work?",
1833
1429
  updates
1834
1430
  )
1835
1431
  }
1836
1432
 
1837
1433
  function homeOrganizationSubtype(updates = {}) {
1838
1434
  return sqstep(
1839
- 'homeOrganizationSubtype',
1840
- homeOrganizationSubtype$1(),
1841
- 'What type of home organization work?',
1435
+ "homeOrganizationSubtype",
1436
+ homeOrganizationSubtype$1(updates.scope, true, updates.input),
1437
+ "What type of home organization work?",
1842
1438
  updates
1843
1439
  )
1844
1440
  }
1845
1441
 
1846
1442
  function numberOfRooms(updates = {}) {
1847
- return sqstep(
1848
- 'numberOfRooms',
1849
- numberOfRooms$1(),
1850
- 'How many rooms?',
1851
- updates
1852
- )
1443
+ return sqstep("numberOfRooms", numberOfRooms$1(updates.scope, true, updates.input), "How many rooms?", updates)
1853
1444
  }
1854
1445
 
1855
1446
  function homeTheaterSubtype(updates = {}) {
1856
1447
  return sqstep(
1857
- 'homeTheaterSubtype',
1858
- homeTheaterSubtype$1(),
1859
- 'What type of home theater work?',
1448
+ "homeTheaterSubtype",
1449
+ homeTheaterSubtype$1(updates.scope, true, updates.input),
1450
+ "What type of home theater work?",
1860
1451
  updates
1861
1452
  )
1862
1453
  }
1863
1454
 
1864
1455
  function heatingCoolingSubtype(updates = {}) {
1865
1456
  return sqstep(
1866
- 'heatingCoolingSubtype',
1867
- heatingCoolingSubtype$1(),
1868
- 'What type of heating and cooling work?',
1457
+ "heatingCoolingSubtype",
1458
+ heatingCoolingSubtype$1(updates.scope, true, updates.input),
1459
+ "What type of heating and cooling work?",
1869
1460
  updates
1870
1461
  )
1871
1462
  }
1872
1463
 
1873
1464
  function fuelSource(updates = {}) {
1874
- return sqstep(
1875
- 'fuelSource',
1876
- fuelSource$1(),
1877
- 'What type of fuel source?',
1878
- updates
1879
- )
1465
+ return sqstep("fuelSource", fuelSource$1(updates.scope, true, updates.input), "What type of fuel source?", updates)
1880
1466
  }
1881
1467
 
1882
1468
  function insulationSubtype(updates = {}) {
1883
1469
  return sqstep(
1884
- 'insulationSubtype',
1885
- insulationSubtype$1(),
1886
- 'What type of insulation work?',
1470
+ "insulationSubtype",
1471
+ insulationSubtype$1(updates.scope, true, updates.input),
1472
+ "What type of insulation work?",
1887
1473
  updates
1888
1474
  )
1889
1475
  }
1890
1476
 
1891
1477
  function landscapingSubtype(updates = {}) {
1892
1478
  return sqstep(
1893
- 'landscapingSubtype',
1894
- landscapingSubtype$1(),
1895
- 'What type of landscaping work?',
1479
+ "landscapingSubtype",
1480
+ landscapingSubtype$1(updates.scope, true, updates.input),
1481
+ "What type of landscaping work?",
1896
1482
  updates
1897
1483
  )
1898
1484
  }
1899
1485
 
1900
1486
  function masonrySubtype(updates = {}) {
1901
1487
  return sqstep(
1902
- 'masonrySubtype',
1903
- masonrySubtype$1(),
1904
- 'What type of masonry work?',
1488
+ "masonrySubtype",
1489
+ masonrySubtype$1(updates.scope, true, updates.input),
1490
+ "What type of masonry work?",
1905
1491
  updates
1906
1492
  )
1907
1493
  }
1908
1494
 
1909
1495
  function masonryMaterial(updates = {}) {
1910
1496
  return sqstep(
1911
- 'masonryMaterial',
1912
- masonryMaterial$1(),
1913
- 'What type of masonry material?',
1497
+ "masonryMaterial",
1498
+ masonryMaterial$1(updates.scope, true, updates.input),
1499
+ "What type of masonry material?",
1914
1500
  updates
1915
1501
  )
1916
1502
  }
1917
1503
 
1918
1504
  function masonryWorkType(updates = {}) {
1919
1505
  return sqstep(
1920
- 'masonryWorkType',
1921
- masonryWorkType$1(),
1922
- 'What type of masonry work?',
1506
+ "masonryWorkType",
1507
+ masonryWorkType$1(updates.scope, true, updates.input),
1508
+ "What type of masonry work?",
1923
1509
  updates
1924
1510
  )
1925
1511
  }
1926
1512
 
1927
1513
  function restorationSubtype(updates = {}) {
1928
1514
  return sqstep(
1929
- 'restorationSubtype',
1930
- restorationSubtype$1(),
1931
- 'What type of restoration work?',
1515
+ "restorationSubtype",
1516
+ restorationSubtype$1(updates.scope, true, updates.input),
1517
+ "What type of restoration work?",
1932
1518
  updates
1933
1519
  )
1934
1520
  }
@@ -1938,7 +1524,7 @@ function restorationSubtype(updates = {}) {
1938
1524
  // export function movingFromAddress(updates = {}) {
1939
1525
  // return sqstep(
1940
1526
  // 'movingFromAddress',
1941
- // inp.movingFromAddress(),
1527
+ // inp.movingFromAddress(updates.scope, true, updates.input),
1942
1528
  // 'Moving from address:',
1943
1529
  // updates
1944
1530
  // )
@@ -1947,7 +1533,7 @@ function restorationSubtype(updates = {}) {
1947
1533
  // export function movingToAddress(updates = {}) {
1948
1534
  // return sqstep(
1949
1535
  // 'movingToAddress',
1950
- // inp.movingToAddress(),
1536
+ // inp.movingToAddress(updates.scope, true, updates.input),
1951
1537
  // 'Moving to address:',
1952
1538
  // updates
1953
1539
  // )
@@ -1956,7 +1542,7 @@ function restorationSubtype(updates = {}) {
1956
1542
  // export function movingHouseholdSize(updates = {}) {
1957
1543
  // return sqstep(
1958
1544
  // 'movingHouseholdSize',
1959
- // inp.movingHouseholdSize(),
1545
+ // inp.movingHouseholdSize(updates.scope, true, updates.input),
1960
1546
  // 'Household size:',
1961
1547
  // updates
1962
1548
  // )
@@ -1964,245 +1550,245 @@ function restorationSubtype(updates = {}) {
1964
1550
 
1965
1551
  function paintingSubtype(updates = {}) {
1966
1552
  return sqstep(
1967
- 'paintingSubtype',
1968
- paintingSubtype$1(),
1969
- 'What type of painting work?',
1553
+ "paintingSubtype",
1554
+ paintingSubtype$1(updates.scope, true, updates.input),
1555
+ "What type of painting work?",
1970
1556
  updates
1971
1557
  )
1972
1558
  }
1973
1559
 
1974
1560
  function paintingRooms(updates = {}) {
1975
1561
  return sqstep(
1976
- 'paintingRooms',
1977
- paintingRooms$1(),
1978
- 'How many rooms need painting?',
1562
+ "paintingRooms",
1563
+ paintingRooms$1(updates.scope, true, updates.input),
1564
+ "How many rooms need painting?",
1979
1565
  updates
1980
1566
  )
1981
1567
  }
1982
1568
 
1983
1569
  function pestControlSubtype(updates = {}) {
1984
1570
  return sqstep(
1985
- 'pestControlSubtype',
1986
- pestControlSubtype$1(),
1987
- 'What type of pest control work?',
1571
+ "pestControlSubtype",
1572
+ pestControlSubtype$1(updates.scope, true, updates.input),
1573
+ "What type of pest control work?",
1988
1574
  updates
1989
1575
  )
1990
1576
  }
1991
1577
 
1992
1578
  function poolsWorkType(updates = {}) {
1993
1579
  return sqstep(
1994
- 'poolsWorkType',
1995
- poolsWorkType$1(),
1996
- 'What type of pool work?',
1580
+ "poolsWorkType",
1581
+ poolsWorkType$1(updates.scope, true, updates.input),
1582
+ "What type of pool work?",
1997
1583
  updates
1998
1584
  )
1999
1585
  }
2000
1586
 
2001
1587
  function poolsSubtype(updates = {}) {
2002
1588
  return sqstep(
2003
- 'poolsSubtype',
2004
- poolsSubtype$1(),
2005
- 'What type of pool work?',
1589
+ "poolsSubtype",
1590
+ poolsSubtype$1(updates.scope, true, updates.input),
1591
+ "What type of pool work?",
2006
1592
  updates
2007
1593
  )
2008
1594
  }
2009
1595
 
2010
1596
  function plumbingSubtype(updates = {}) {
2011
1597
  return sqstep(
2012
- 'plumbingSubtype',
2013
- plumbingSubtype$1(),
2014
- 'What type of plumbing work?',
1598
+ "plumbingSubtype",
1599
+ plumbingSubtype$1(updates.scope, true, updates.input),
1600
+ "What type of plumbing work?",
2015
1601
  updates
2016
1602
  )
2017
1603
  }
2018
1604
 
2019
1605
  function remodelingSubtype(updates = {}) {
2020
1606
  return sqstep(
2021
- 'remodelingSubtype',
2022
- remodelingSubtype$1(),
2023
- 'What type of remodeling work?',
1607
+ "remodelingSubtype",
1608
+ remodelingSubtype$1(updates.scope, true, updates.input),
1609
+ "What type of remodeling work?",
2024
1610
  updates
2025
1611
  )
2026
1612
  }
2027
1613
 
2028
1614
  function roofingWorkType(updates = {}) {
2029
1615
  return sqstep(
2030
- 'roofingWorkType',
2031
- roofingWorkType$1(),
2032
- 'What type of roofing work?',
1616
+ "roofingWorkType",
1617
+ roofingWorkType$1(updates.scope, true, updates.input),
1618
+ "What type of roofing work?",
2033
1619
  updates
2034
1620
  )
2035
1621
  }
2036
1622
 
2037
1623
  function roofingMaterial(updates = {}) {
2038
1624
  return sqstep(
2039
- 'roofingMaterial',
2040
- roofingMaterial$1(),
2041
- 'What type of roofing material?',
1625
+ "roofingMaterial",
1626
+ roofingMaterial$1(updates.scope, true, updates.input),
1627
+ "What type of roofing material?",
2042
1628
  updates
2043
1629
  )
2044
1630
  }
2045
1631
 
2046
1632
  function sidingMaterial(updates = {}) {
2047
1633
  return sqstep(
2048
- 'sidingMaterial',
2049
- sidingMaterial$1(),
2050
- 'What type of siding material?',
1634
+ "sidingMaterial",
1635
+ sidingMaterial$1(updates.scope, true, updates.input),
1636
+ "What type of siding material?",
2051
1637
  updates
2052
1638
  )
2053
1639
  }
2054
1640
 
2055
1641
  function tilingSubtype(updates = {}) {
2056
1642
  return sqstep(
2057
- 'tilingSubtype',
2058
- tilingSubtype$1(),
2059
- 'What type of tiling work?',
1643
+ "tilingSubtype",
1644
+ tilingSubtype$1(updates.scope, true, updates.input),
1645
+ "What type of tiling work?",
2060
1646
  updates
2061
1647
  )
2062
1648
  }
2063
1649
 
2064
1650
  function waterproofingSubtype(updates = {}) {
2065
1651
  return sqstep(
2066
- 'waterproofingSubtype',
2067
- waterproofingSubtype$1(),
2068
- 'What type of waterproofing work?',
1652
+ "waterproofingSubtype",
1653
+ waterproofingSubtype$1(updates.scope, true, updates.input),
1654
+ "What type of waterproofing work?",
2069
1655
  updates
2070
1656
  )
2071
1657
  }
2072
1658
 
2073
1659
  function windowsWorkType(updates = {}) {
2074
1660
  return sqstep(
2075
- 'windowsWorkType',
2076
- windowsWorkType$1(),
2077
- 'What type of windows work?',
1661
+ "windowsWorkType",
1662
+ windowsWorkType$1(updates.scope, true, updates.input),
1663
+ "What type of windows work?",
2078
1664
  updates
2079
1665
  )
2080
1666
  }
2081
1667
 
2082
1668
  function windowsSubtype(updates = {}) {
2083
1669
  return sqstep(
2084
- 'windowsSubtype',
2085
- windowsSubtype$1(),
2086
- 'What type of windows work?',
1670
+ "windowsSubtype",
1671
+ windowsSubtype$1(updates.scope, true, updates.input),
1672
+ "What type of windows work?",
2087
1673
  updates
2088
1674
  )
2089
1675
  }
2090
1676
 
2091
1677
  function numberOfWindows(updates = {}) {
2092
1678
  return sqstep(
2093
- 'numberOfWindows',
2094
- numberOfWindows$1(),
2095
- 'How many windows?',
1679
+ "numberOfWindows",
1680
+ numberOfWindows$1(updates.scope, true, updates.input),
1681
+ "How many windows?",
2096
1682
  updates
2097
1683
  )
2098
1684
  }
2099
1685
 
2100
1686
  const formNavigation = (updates = {}) => ({
2101
- $el: 'div',
1687
+ $el: "div",
2102
1688
  attrs: {
2103
- class: 'step-nav'
1689
+ class: "step-nav",
2104
1690
  },
2105
1691
  children: [
2106
1692
  {
2107
- $formkit: 'button',
2108
- name: 'back_button',
2109
- onClick: '$setPreviousStep($prevStepFunc($get(form)))',
2110
- children: 'Back',
1693
+ $formkit: "button",
1694
+ name: "back_button",
1695
+ onClick: "$setPreviousStep($prevStepFunc($get(form)))",
1696
+ children: "Back",
2111
1697
  style: {
2112
- if: '$activeStep === $firstStep()',
2113
- then: 'visibility: hidden;'
2114
- }
1698
+ if: "$activeStep === $firstStep()",
1699
+ then: "visibility: hidden;",
1700
+ },
2115
1701
  },
2116
1702
  {
2117
- $formkit: 'button',
2118
- name: 'next_button',
2119
- onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
1703
+ $formkit: "button",
1704
+ name: "next_button",
1705
+ onClick: "$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))",
2120
1706
  children: {
2121
- if: '$activeStep === $firstStep()',
2122
- then: 'Start',
2123
- else: 'Next'
1707
+ if: "$activeStep === $firstStep()",
1708
+ then: "Start",
1709
+ else: "Next",
2124
1710
  },
2125
1711
  outerClass: {
2126
- if: '$activeStep === $lastStep()',
2127
- then: 't-hidden',
2128
- else: ''
1712
+ if: "$activeStep === $lastStep()",
1713
+ then: "t-hidden",
1714
+ else: "",
2129
1715
  },
2130
1716
  style: {
2131
- if: '$activeStep === $lastStep()',
2132
- then: 'display: none;'
2133
- }
1717
+ if: "$activeStep === $lastStep()",
1718
+ then: "display: none;",
1719
+ },
2134
1720
  },
2135
1721
  {
2136
- $formkit: 'submit',
2137
- name: 'submit_button',
2138
- label: updates.submitLabel || 'Submit',
2139
- if: '$activeStep === $lastStep()',
1722
+ $formkit: "submit",
1723
+ name: "submit_button",
1724
+ label: updates.submitLabel || "Submit",
1725
+ if: "$activeStep === $lastStep()",
2140
1726
  style: {
2141
- if: '$activeStep !== $lastStep()',
2142
- then: 'display: none;'
2143
- }
2144
- }
2145
- ]
1727
+ if: "$activeStep !== $lastStep()",
1728
+ then: "display: none;",
1729
+ },
1730
+ },
1731
+ ],
2146
1732
  });
2147
1733
 
2148
1734
  const formDetails = () => ({
2149
- $el: 'pre',
1735
+ $el: "pre",
2150
1736
  if: '$urlParam("fdbg", "") == 1',
2151
1737
  children: [
2152
1738
  {
2153
- $el: 'pre',
2154
- children: '$stringify( $get(form).value )',
1739
+ $el: "pre",
1740
+ children: "$stringify( $get(form).value )",
2155
1741
  attrs: {
2156
- class: 't-text-xs',
2157
- style: 'overflow: scroll'
2158
- }
1742
+ class: "t-text-xs",
1743
+ style: "overflow: scroll",
1744
+ },
2159
1745
  },
2160
1746
  {
2161
- $el: 'pre',
2162
- children: ['activeStep: ', '$activeStep'],
1747
+ $el: "pre",
1748
+ children: ["activeStep: ", "$activeStep"],
2163
1749
  attrs: {
2164
- class: 't-text-xs',
2165
- style: 'overflow: scroll'
2166
- }
1750
+ class: "t-text-xs",
1751
+ style: "overflow: scroll",
1752
+ },
2167
1753
  },
2168
1754
  {
2169
- $el: 'pre',
2170
- children: ['stepHistory: ', '$stepHistory'],
1755
+ $el: "pre",
1756
+ children: ["stepHistory: ", "$stepHistory"],
2171
1757
  attrs: {
2172
- class: 't-text-xs',
2173
- style: 'overflow: scroll'
2174
- }
1758
+ class: "t-text-xs",
1759
+ style: "overflow: scroll",
1760
+ },
2175
1761
  },
2176
1762
  {
2177
- $el: 'pre',
2178
- children: ['stepQueue: ', '$stepQueue'],
1763
+ $el: "pre",
1764
+ children: ["stepQueue: ", "$stepQueue"],
2179
1765
  attrs: {
2180
- class: 't-text-xs',
2181
- style: 'overflow: scroll'
2182
- }
1766
+ class: "t-text-xs",
1767
+ style: "overflow: scroll",
1768
+ },
2183
1769
  },
2184
1770
  {
2185
- $el: 'pre',
2186
- children: ['steps: ', '$stepKeys()'],
1771
+ $el: "pre",
1772
+ children: ["steps: ", "$stepKeys()"],
2187
1773
  attrs: {
2188
- class: 't-text-xs',
2189
- style: 'overflow: scroll'
2190
- }
2191
- }
2192
- ]
1774
+ class: "t-text-xs",
1775
+ style: "overflow: scroll",
1776
+ },
1777
+ },
1778
+ ],
2193
1779
  });
2194
1780
 
2195
1781
  const formPropDefaults = {
2196
- type: 'form',
2197
- id: 'form',
2198
- config: { validationVisibility: 'submit' },
1782
+ type: "form",
1783
+ id: "form",
1784
+ config: { validationVisibility: "submit" },
2199
1785
  onSubmit: '$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
2200
- plugins: '$plugins',
1786
+ plugins: "$plugins",
2201
1787
  actions: false,
2202
- anchorElement: 'form-anchor',
1788
+ anchorElement: "form-anchor",
2203
1789
  useLocalStorage: true,
2204
1790
  prepop: {
2205
- fromURL: true
1791
+ fromURL: true,
2206
1792
  },
2207
1793
  errorCodes: {
2208
1794
  403: { message: "An Error Occurred", abort: false },
@@ -2210,13 +1796,11 @@ const formPropDefaults = {
2210
1796
  429: "An Error Occurred",
2211
1797
  504: { message: "An Error Occurred", abort: false },
2212
1798
  },
2213
- formClass: '!t-max-w-[40rem]'
1799
+ formClass: "!t-max-w-[40rem]",
2214
1800
  };
2215
1801
 
2216
1802
  function filterMapByKey(obj, keyList) {
2217
- return Object.fromEntries(
2218
- Object.entries(obj).filter(([key]) => keyList.includes(key))
2219
- );
1803
+ return Object.fromEntries(Object.entries(obj).filter(([key]) => keyList.includes(key)))
2220
1804
  }
2221
1805
 
2222
1806
  // export function filteredNextStepsMapLegal(keyList) {
@@ -2226,10 +1810,7 @@ function filterMapByKey(obj, keyList) {
2226
1810
  // }
2227
1811
 
2228
1812
  function formProps(updates) {
2229
- const props = merge(
2230
- formPropDefaults,
2231
- updates
2232
- );
1813
+ const props = merge(formPropDefaults, updates);
2233
1814
  if (props.formId && !props.name) {
2234
1815
  props.name = props.formId;
2235
1816
  }
@@ -2239,13 +1820,10 @@ function formProps(updates) {
2239
1820
  const metaDefaults = {};
2240
1821
 
2241
1822
  function metaProps(updates) {
2242
- const data = merge(
2243
- metaDefaults,
2244
- updates
2245
- );
1823
+ const data = merge(metaDefaults, updates);
2246
1824
  return {
2247
- type: 'meta',
2248
- data
1825
+ type: "meta",
1826
+ data,
2249
1827
  }
2250
1828
  }
2251
1829
 
@@ -2265,243 +1843,223 @@ function defaultMetaPropsHomeImprovement(category = null) {
2265
1843
  defaultFinalHeadline: DEFAULT_FINAL_HEADLINE_HOME_IMPROVEMENT,
2266
1844
  finalHeadlines: finalHeadlines,
2267
1845
  defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE_HOME_IMPROVEMENT,
2268
- finalSubHeadlines: finalSubHeadlines
1846
+ finalSubHeadlines: finalSubHeadlines,
2269
1847
  })
2270
1848
  }
2271
1849
 
2272
- function dynamicSchemaNode(field = 'Type_Of_Legal_Problem') {
1850
+ function dynamicSchemaNode(field = "Type_Of_Legal_Problem") {
2273
1851
  return {
2274
- $cmp: 'FormKitSchema',
2275
- if: '$get(' + field + ').value',
1852
+ $cmp: "FormKitSchema",
1853
+ if: "$get(" + field + ").value",
2276
1854
  props: {
2277
- schema: '$meta.dynamicSchema',
2278
- data: '$buildData($meta)'
2279
- }
1855
+ schema: "$meta.dynamicSchema",
1856
+ data: "$buildData($meta)",
1857
+ },
2280
1858
  }
2281
1859
  }
2282
1860
 
2283
1861
  const formAnchorDefaults = {
2284
- $el: 'div',
1862
+ $el: "div",
2285
1863
  children: [
2286
1864
  {
2287
- $el: 'div',
1865
+ $el: "div",
2288
1866
  attrs: {
2289
- id: 'form-anchor',
2290
- class: 't-absolute',
2291
- style: { top: '-30px', left: 0 }
2292
- }
2293
- }
1867
+ id: "form-anchor",
1868
+ class: "t-absolute",
1869
+ style: { top: "-30px", left: 0 },
1870
+ },
1871
+ },
2294
1872
  ],
2295
1873
  attrs: {
2296
- class: 't-relative'
2297
- }
1874
+ class: "t-relative",
1875
+ },
2298
1876
  };
2299
1877
 
2300
1878
  function formAnchor(updates) {
2301
- return merge(
2302
- formAnchorDefaults,
2303
- updates
2304
- )
1879
+ return merge(formAnchorDefaults, updates)
2305
1880
  }
2306
1881
 
2307
1882
  const progressBarDefaults = {
2308
- $el: 'div',
1883
+ $el: "div",
2309
1884
  attrs: {
2310
- class: 't-mt-7 t-mb-5 t-w-full t-flex t-flex-col t-justify-center t-items-center',
1885
+ class: "t-mt-7 t-mb-5 t-w-full t-flex t-flex-col t-justify-center t-items-center",
2311
1886
  style: {
2312
- if: '$fns.eq($activeStep, $firstStep()) || $fns.eq($activeStep, $lastStep())',
2313
- then: 'display: none'
1887
+ if: "$fns.eq($activeStep, $firstStep()) || $fns.eq($activeStep, $lastStep())",
1888
+ then: "display: none",
2314
1889
  },
2315
1890
  },
2316
1891
  children: [
2317
1892
  {
2318
- $el: 'div',
1893
+ $el: "div",
2319
1894
  attrs: {
2320
- class: 't-flex t-justify-center'
1895
+ class: "t-flex t-justify-center",
2321
1896
  },
2322
1897
  children: [
2323
1898
  {
2324
- $el: 'span',
1899
+ $el: "span",
2325
1900
  attrs: {
2326
- id: 'progress-bar-text',
2327
- class: 't-text-sm t-mb-1'
1901
+ id: "progress-bar-text",
1902
+ class: "t-text-sm t-mb-1",
2328
1903
  },
2329
- children: [
2330
- "0% Complete"
2331
- ]
1904
+ children: ["0% Complete"],
2332
1905
  },
2333
- ]
1906
+ ],
2334
1907
  },
2335
1908
  {
2336
- $el: 'div',
1909
+ $el: "div",
2337
1910
  attrs: {
2338
- class: 't-bg-gray-100 t-w-9/12 t-rounded'
1911
+ class: "t-bg-gray-100 t-w-9/12 t-rounded",
2339
1912
  },
2340
1913
  children: [
2341
1914
  {
2342
- $el: 'div',
1915
+ $el: "div",
2343
1916
  attrs: {
2344
- id: 'progress-bar',
2345
- 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]',
1917
+ id: "progress-bar",
1918
+ class:
1919
+ "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]",
2346
1920
  style: {
2347
- transition: 'width 0.5s ease'
1921
+ transition: "width 0.5s ease",
2348
1922
  },
2349
1923
  },
2350
- }
2351
- ]
2352
- }
2353
- ]
1924
+ },
1925
+ ],
1926
+ },
1927
+ ],
2354
1928
  };
2355
1929
 
2356
1930
  function progressBar(updates) {
2357
- return merge(
2358
- progressBarDefaults,
2359
- updates
2360
- )
1931
+ return merge(progressBarDefaults, updates)
2361
1932
  }
2362
1933
 
2363
1934
  function headlineDefaults(updates = {}) {
2364
1935
  return {
2365
- $el: 'h1',
1936
+ $el: "h1",
2366
1937
  attrs: {
2367
- class: 't-flex t-justify-center t-text-center !t-text-[2rem] t-font-semibold t-pt-5 t-px-7 md:t-px-3' + ' ' + (updates.headlineClass || '')
2368
- }
1938
+ class:
1939
+ "t-flex t-justify-center t-text-center !t-text-[2rem] t-font-semibold t-pt-5 t-px-7 md:t-px-3" +
1940
+ " " +
1941
+ (updates.headlineClass || ""),
1942
+ },
2369
1943
  }
2370
1944
  }
2371
1945
 
2372
1946
  function headline(updates = {}) {
2373
- return merge(
2374
- headlineDefaults(updates),
2375
- updates
2376
- )
1947
+ return merge(headlineDefaults(updates), updates)
2377
1948
  }
2378
1949
 
2379
1950
  function subHeadlineDefaults(updates = {}) {
2380
1951
  return {
2381
- $el: 'h3',
1952
+ $el: "h3",
2382
1953
  attrs: {
2383
- class: 't-flex t-justify-center t-text-center !t-text-[1.2rem] t-font-medium t-text-blue-500 t-px-10' + ' ' + (updates.subheadlineClass || '')
2384
- }
1954
+ class:
1955
+ "t-flex t-justify-center t-text-center !t-text-[1.2rem] t-font-medium t-text-blue-500 t-px-10" +
1956
+ " " +
1957
+ (updates.subheadlineClass || ""),
1958
+ },
2385
1959
  }
2386
1960
  }
2387
1961
 
2388
1962
  function subHeadline(updates = {}) {
2389
- return merge(
2390
- subHeadlineDefaults(updates),
2391
- updates
2392
- )
2393
- }
2394
-
2395
- function defaultSubHeadline() {
2396
- return subHeadline({
2397
- children: '$urlParam("shl", "Our Service is Fast and Free!")',
2398
- if: '$activeStep === $firstStep()'
2399
- })
1963
+ return merge(subHeadlineDefaults(updates), updates)
2400
1964
  }
2401
1965
 
2402
1966
  const hiddenInputsBase = [
2403
1967
  {
2404
- $formkit: 'hidden',
1968
+ $formkit: "hidden",
2405
1969
  name: "gclid",
2406
- value: null
1970
+ value: null,
2407
1971
  },
2408
1972
  {
2409
- $formkit: 'hidden',
1973
+ $formkit: "hidden",
2410
1974
  name: "campaignid",
2411
- value: null
1975
+ value: null,
2412
1976
  },
2413
1977
  {
2414
- $formkit: 'hidden',
1978
+ $formkit: "hidden",
2415
1979
  name: "s",
2416
- value: null
2417
- }
1980
+ value: null,
1981
+ },
2418
1982
  ];
2419
1983
 
2420
1984
  const hiddenInputsHomeImprovement = [
2421
1985
  {
2422
- $formkit: 'hidden',
1986
+ $formkit: "hidden",
2423
1987
  name: "vertical",
2424
- value: "HomeImprovement"
1988
+ value: "HomeImprovement",
2425
1989
  },
2426
1990
  {
2427
- $formkit: 'hidden',
1991
+ $formkit: "hidden",
2428
1992
  name: "TCPA_Language",
2429
- value: "$meta.tcpaLanguage"
1993
+ value: "$meta.tcpaLanguage",
2430
1994
  },
2431
- ...hiddenInputsBase
1995
+ ...hiddenInputsBase,
2432
1996
  ];
2433
1997
 
2434
1998
  const homeImprovementRedirectMapDefaults = {
2435
- '*': HomeImprovementRedirectUrl()
1999
+ "*": HomeImprovementRedirectUrl(),
2436
2000
  };
2437
2001
 
2438
-
2439
2002
  function homeImprovementRedirectMap(updates) {
2440
- return merge(
2441
- homeImprovementRedirectMapDefaults,
2442
- updates
2443
- )
2003
+ return merge(homeImprovementRedirectMapDefaults, updates)
2444
2004
  }
2445
2005
 
2446
-
2447
2006
  // ------ Home Improvement
2448
2007
 
2449
-
2450
2008
  const HomeImprovementCommentsPlaceholders = {
2451
- 'Additions': 'Example: "I would like to add a sunroom to my home"',
2452
- 'Appliances': 'Example: "I need to repair a dishwasher"',
2453
- 'Appraisals': 'Example: "I need to get my home appraised"',
2454
- 'Cabinets': 'Example: "I want to install new kitchen cabinets"',
2455
- 'Carpentry': 'Example: "I need someone to build custom shelves"',
2456
- 'Carpets': 'Example: "I want to replace the carpets in my living room"',
2457
- 'Cleaning': 'Example: "I need a professional cleaning service for my home"',
2458
- 'Countertops': 'Example: "I want to install granite countertops in my kitchen"',
2459
- 'Decks and Porches': 'Example: "I want to build a new deck in my backyard"',
2460
- 'Demolition': 'Example: "I need to demolish a wall in my home"',
2461
- 'Doors': 'Example: "I want to replace the front door of my house"',
2462
- 'Driveways': 'Example: "I need to repair my driveway"',
2463
- 'Drywall and Plaster': 'Example: "I need to repair a hole in my drywall"',
2464
- 'Electrical': 'Example: "I need an electrician to install new light fixtures"',
2465
- 'Fencing': 'Example: "I want to install a privacy fence in my backyard"',
2466
- 'Flooring': 'Example: "I want to install hardwood flooring in my living room"',
2467
- 'Foundations': 'Example: "I need to repair the foundation of my house"',
2468
- 'Garage Doors': 'Example: "I want to replace my garage door"',
2469
- 'General Contractors': 'Example: "I need a general contractor for a home renovation"',
2470
- 'Gutters': 'Example: "I need to clean and repair my gutters"',
2471
- 'Handyman': 'Example: "I need a handyman to fix various things around my house"',
2472
- 'Holiday Decorators': 'Example: "I want to hire someone to decorate my home for the holidays"',
2473
- 'Smart Home': 'Example: "I want to install a smart home automation system"',
2474
- 'Home Builders': 'Example: "I want to build a custom home"',
2475
- 'Home Inspection': 'Example: "I need a home inspection before buying a house"',
2476
- 'Home Organization': 'Example: "I need help organizing my closets and storage"',
2477
- 'Home Security': 'Example: "I want to install a home security system"',
2478
- 'Home Staging': 'Example: "I need a home staging service to prepare my house for sale"',
2479
- 'Home Theater': 'Example: "I want to set up a home theater system"',
2480
- 'Home Warranties': 'Example: "I want to purchase a home warranty"',
2481
- 'Hot Tubs': 'Example: "I want to install a hot tub in my backyard"',
2482
- 'Heating and Cooling': 'Example: "I need to repair my air conditioning unit"',
2483
- 'Insulation': 'Example: "I want to improve the insulation in my home"',
2484
- 'Junk Removal': 'Example: "I need a service to remove junk and debris from my property"',
2485
- 'Landscaping': 'Example: "I want to redesign my backyard landscaping"',
2486
- 'Locksmiths': 'Example: "I need a locksmith to change the locks on my doors"',
2487
- 'Masonry and Concrete': 'Example: "I need to repair a cracked concrete driveway"',
2488
- 'Restoration': 'Example: "I need water damage restoration services"',
2489
- 'Moving': 'Example: "I need a moving company to help me relocate"',
2490
- 'Painting': 'Example: "I want to paint the interior walls of my house"',
2491
- 'Pest Control': 'Example: "I need pest control services for my home"',
2492
- 'Pools': 'Example: "I want to install a swimming pool in my backyard"',
2493
- 'Plumbing': 'Example: "I need a plumber to fix a leaky faucet"',
2494
- 'Pressure Washing': 'Example: "I want to pressure wash the exterior of my house"',
2495
- 'Remodeling': 'Example: "I want to remodel my kitchen"',
2496
- 'Roofing': 'Example: "I need to repair a leaky roof"',
2497
- 'Sheds': 'Example: "I want to build a storage shed in my backyard"',
2498
- 'Siding': 'Example: "I want to replace the siding on my house"',
2499
- 'Solar': 'Example: "I want to install solar panels on my roof"',
2500
- 'Tiling': 'Example: "I want to install new tiles in my bathroom"',
2501
- 'Walk-in Tubs': 'Example: "I want to install a walk-in tub in my bathroom"',
2502
- 'Waterproofing': 'Example: "I need to waterproof my basement"',
2503
- 'Window Cleaning': 'Example: "I need a professional window cleaning service"',
2504
- 'Windows': 'Example: "I want to replace 3 windows in my house"',
2009
+ Additions: 'Example: "I would like to add a sunroom to my home"',
2010
+ Appliances: 'Example: "I need to repair a dishwasher"',
2011
+ Appraisals: 'Example: "I need to get my home appraised"',
2012
+ Cabinets: 'Example: "I want to install new kitchen cabinets"',
2013
+ Carpentry: 'Example: "I need someone to build custom shelves"',
2014
+ Carpets: 'Example: "I want to replace the carpets in my living room"',
2015
+ Cleaning: 'Example: "I need a professional cleaning service for my home"',
2016
+ Countertops: 'Example: "I want to install granite countertops in my kitchen"',
2017
+ "Decks and Porches": 'Example: "I want to build a new deck in my backyard"',
2018
+ Demolition: 'Example: "I need to demolish a wall in my home"',
2019
+ Doors: 'Example: "I want to replace the front door of my house"',
2020
+ Driveways: 'Example: "I need to repair my driveway"',
2021
+ "Drywall and Plaster": 'Example: "I need to repair a hole in my drywall"',
2022
+ Electrical: 'Example: "I need an electrician to install new light fixtures"',
2023
+ Fencing: 'Example: "I want to install a privacy fence in my backyard"',
2024
+ Flooring: 'Example: "I want to install hardwood flooring in my living room"',
2025
+ Foundations: 'Example: "I need to repair the foundation of my house"',
2026
+ "Garage Doors": 'Example: "I want to replace my garage door"',
2027
+ "General Contractors": 'Example: "I need a general contractor for a home renovation"',
2028
+ Gutters: 'Example: "I need to clean and repair my gutters"',
2029
+ Handyman: 'Example: "I need a handyman to fix various things around my house"',
2030
+ "Holiday Decorators": 'Example: "I want to hire someone to decorate my home for the holidays"',
2031
+ "Smart Home": 'Example: "I want to install a smart home automation system"',
2032
+ "Home Builders": 'Example: "I want to build a custom home"',
2033
+ "Home Inspection": 'Example: "I need a home inspection before buying a house"',
2034
+ "Home Organization": 'Example: "I need help organizing my closets and storage"',
2035
+ "Home Security": 'Example: "I want to install a home security system"',
2036
+ "Home Staging": 'Example: "I need a home staging service to prepare my house for sale"',
2037
+ "Home Theater": 'Example: "I want to set up a home theater system"',
2038
+ "Home Warranties": 'Example: "I want to purchase a home warranty"',
2039
+ "Hot Tubs": 'Example: "I want to install a hot tub in my backyard"',
2040
+ "Heating and Cooling": 'Example: "I need to repair my air conditioning unit"',
2041
+ Insulation: 'Example: "I want to improve the insulation in my home"',
2042
+ "Junk Removal": 'Example: "I need a service to remove junk and debris from my property"',
2043
+ Landscaping: 'Example: "I want to redesign my backyard landscaping"',
2044
+ Locksmiths: 'Example: "I need a locksmith to change the locks on my doors"',
2045
+ "Masonry and Concrete": 'Example: "I need to repair a cracked concrete driveway"',
2046
+ Restoration: 'Example: "I need water damage restoration services"',
2047
+ Moving: 'Example: "I need a moving company to help me relocate"',
2048
+ Painting: 'Example: "I want to paint the interior walls of my house"',
2049
+ "Pest Control": 'Example: "I need pest control services for my home"',
2050
+ Pools: 'Example: "I want to install a swimming pool in my backyard"',
2051
+ Plumbing: 'Example: "I need a plumber to fix a leaky faucet"',
2052
+ "Pressure Washing": 'Example: "I want to pressure wash the exterior of my house"',
2053
+ Remodeling: 'Example: "I want to remodel my kitchen"',
2054
+ Roofing: 'Example: "I need to repair a leaky roof"',
2055
+ Sheds: 'Example: "I want to build a storage shed in my backyard"',
2056
+ Siding: 'Example: "I want to replace the siding on my house"',
2057
+ Solar: 'Example: "I want to install solar panels on my roof"',
2058
+ Tiling: 'Example: "I want to install new tiles in my bathroom"',
2059
+ "Walk-in Tubs": 'Example: "I want to install a walk-in tub in my bathroom"',
2060
+ Waterproofing: 'Example: "I need to waterproof my basement"',
2061
+ "Window Cleaning": 'Example: "I need a professional window cleaning service"',
2062
+ Windows: 'Example: "I want to replace 3 windows in my house"',
2505
2063
  };
2506
2064
 
2507
2065
  const HomeImprovementFinalHeadlines = {
@@ -2619,277 +2177,102 @@ const HomeImprovementFinalSubHeadlines = {
2619
2177
  };
2620
2178
 
2621
2179
  const nextStepsHomeImprovementDefault = [
2622
- 'comments',
2623
- 'timeframe',
2624
- 'ownHome',
2625
- 'zipcode',
2626
- 'address',
2180
+ "comments",
2181
+ "timeframe",
2182
+ "ownHome",
2183
+ "zipcode",
2184
+ "address",
2627
2185
  // 'homeImprovementCrossSells',
2628
- 'firstAndLast',
2629
- 'contactInfo',
2186
+ "firstAndLast",
2187
+ "contactInfo",
2630
2188
  ];
2631
2189
 
2632
2190
  const nextStepsMapGeneralHomeImprovement = {
2633
2191
  values: {
2634
- 'Category': {
2635
- 'Additions': [
2636
- 'additionsSubType',
2637
- 'constructionAreaSize',
2638
- ...nextStepsHomeImprovementDefault
2639
- ],
2640
- 'Appliances': [
2641
- 'homeImprovementWorkType',
2642
- 'applianceType',
2643
- ...nextStepsHomeImprovementDefault
2644
- ],
2645
- 'Appraisals': [
2646
- ...nextStepsHomeImprovementDefault
2192
+ Category: {
2193
+ Additions: ["additionsSubType", "constructionAreaSize", ...nextStepsHomeImprovementDefault],
2194
+ Appliances: ["homeImprovementWorkType", "applianceType", ...nextStepsHomeImprovementDefault],
2195
+ Appraisals: [...nextStepsHomeImprovementDefault],
2196
+ Cabinets: ["cabinetWorkType", ...nextStepsHomeImprovementDefault],
2197
+ Carpentry: ["carpentrySubtype", "homeImprovementWorkType", ...nextStepsHomeImprovementDefault],
2198
+ Carpets: ["carpetWorkType", ...nextStepsHomeImprovementDefault],
2199
+ Cleaning: ["cleaningSubtype", ...nextStepsHomeImprovementDefault],
2200
+ Countertops: ["countertopMaterial", "homeImprovementWorkType", ...nextStepsHomeImprovementDefault],
2201
+ "Decks and Porches": ["deckWorkType", ...nextStepsHomeImprovementDefault],
2202
+ Demolition: ["demolitionSubtype", ...nextStepsHomeImprovementDefault],
2203
+ Doors: ["doorSubtype", "homeImprovementWorkType", ...nextStepsHomeImprovementDefault],
2204
+ Driveways: ["drivewayWorkType", "drivewayMaterial", ...nextStepsHomeImprovementDefault],
2205
+ "Drywall and Plaster": ["wallSurfaceType", "homeImprovementWorkType", ...nextStepsHomeImprovementDefault],
2206
+ Electrical: ["electricalSubtype", "homeImprovementWorkType", ...nextStepsHomeImprovementDefault],
2207
+ Fencing: ["fenceMaterial", "homeImprovementWorkType", ...nextStepsHomeImprovementDefault],
2208
+ Flooring: ["flooringMaterial", "homeImprovementWorkType", ...nextStepsHomeImprovementDefault],
2209
+ Foundations: ["homeImprovementWorkType", ...nextStepsHomeImprovementDefault],
2210
+ "Garage Doors": ["homeImprovementWorkType", ...nextStepsHomeImprovementDefault],
2211
+ "General Contractors": ["generalContractorSubtype", ...nextStepsHomeImprovementDefault],
2212
+ Gutters: ["gutterMaterial", "guttersWorkType", ...nextStepsHomeImprovementDefault],
2213
+ Handyman: [...nextStepsHomeImprovementDefault],
2214
+ "Holiday Decorators": [...nextStepsHomeImprovementDefault],
2215
+ "Smart Home": ["smartHomeSubtype", ...nextStepsHomeImprovementDefault],
2216
+ "Home Builders": [...nextStepsHomeImprovementDefault],
2217
+ "Home Inspection": [...nextStepsHomeImprovementDefault],
2218
+ "Home Organization": ["homeOrganizationSubtype", ...nextStepsHomeImprovementDefault],
2219
+ "Home Security": [...nextStepsHomeImprovementDefault],
2220
+ "Home Staging": ["numberOfRooms", ...nextStepsHomeImprovementDefault],
2221
+ "Home Theater": ["homeTheaterSubtype", ...nextStepsHomeImprovementDefault],
2222
+ "Home Warranties": [...nextStepsHomeImprovementDefault],
2223
+ "Hot Tubs": ["homeImprovementWorkType", ...nextStepsHomeImprovementDefault],
2224
+ "Heating and Cooling": [
2225
+ "heatingCoolingSubtype",
2226
+ "fuelSource",
2227
+ "homeImprovementWorkType",
2228
+ ...nextStepsHomeImprovementDefault,
2647
2229
  ],
2648
- 'Cabinets': [
2649
- 'cabinetWorkType',
2650
- ...nextStepsHomeImprovementDefault
2230
+ Insulation: ["insulationSubtype", ...nextStepsHomeImprovementDefault],
2231
+ "Junk Removal": [...nextStepsHomeImprovementDefault],
2232
+ Landscaping: ["landscapingSubtype", "homeImprovementWorkType", ...nextStepsHomeImprovementDefault],
2233
+ Locksmiths: [...nextStepsHomeImprovementDefault],
2234
+ "Masonry and Concrete": [
2235
+ "masonrySubtype",
2236
+ "masonryMaterial",
2237
+ "masonryWorkType",
2238
+ ...nextStepsHomeImprovementDefault,
2651
2239
  ],
2652
- 'Carpentry': [
2653
- 'carpentrySubtype',
2654
- 'homeImprovementWorkType',
2655
- ...nextStepsHomeImprovementDefault
2656
- ],
2657
- 'Carpets': [
2658
- 'carpetWorkType',
2659
- ...nextStepsHomeImprovementDefault
2660
- ],
2661
- 'Cleaning': [
2662
- 'cleaningSubtype',
2663
- ...nextStepsHomeImprovementDefault
2664
- ],
2665
- 'Countertops': [
2666
- 'countertopMaterial',
2667
- 'homeImprovementWorkType',
2668
- ...nextStepsHomeImprovementDefault
2669
- ],
2670
- 'Decks and Porches': [
2671
- 'deckWorkType',
2672
- ...nextStepsHomeImprovementDefault
2673
- ],
2674
- 'Demolition': [
2675
- 'demolitionSubtype',
2676
- ...nextStepsHomeImprovementDefault
2677
- ],
2678
- 'Doors': [
2679
- 'doorSubtype',
2680
- 'homeImprovementWorkType',
2681
- ...nextStepsHomeImprovementDefault
2682
- ],
2683
- 'Driveways': [
2684
- 'drivewayWorkType',
2685
- 'drivewayMaterial',
2686
- ...nextStepsHomeImprovementDefault
2687
- ],
2688
- 'Drywall and Plaster': [
2689
- 'wallSurfaceType',
2690
- 'homeImprovementWorkType',
2691
- ...nextStepsHomeImprovementDefault
2692
- ],
2693
- 'Electrical': [
2694
- 'electricalSubtype',
2695
- 'homeImprovementWorkType',
2696
- ...nextStepsHomeImprovementDefault
2697
- ],
2698
- 'Fencing': [
2699
- 'fenceMaterial',
2700
- 'homeImprovementWorkType',
2701
- ...nextStepsHomeImprovementDefault
2702
- ],
2703
- 'Flooring': [
2704
- 'flooringMaterial',
2705
- 'homeImprovementWorkType',
2706
- ...nextStepsHomeImprovementDefault
2707
- ],
2708
- 'Foundations': [
2709
- 'homeImprovementWorkType',
2710
- ...nextStepsHomeImprovementDefault
2711
- ],
2712
- 'Garage Doors': [
2713
- 'homeImprovementWorkType',
2714
- ...nextStepsHomeImprovementDefault
2715
- ],
2716
- 'General Contractors': [
2717
- 'generalContractorSubtype',
2718
- ...nextStepsHomeImprovementDefault
2719
- ],
2720
- 'Gutters': [
2721
- 'gutterMaterial',
2722
- 'guttersWorkType',
2723
- ...nextStepsHomeImprovementDefault
2724
- ],
2725
- 'Handyman': [
2726
- ...nextStepsHomeImprovementDefault
2727
- ],
2728
- 'Holiday Decorators': [
2729
- ...nextStepsHomeImprovementDefault
2730
- ],
2731
- 'Smart Home': [
2732
- 'smartHomeSubtype',
2733
- ...nextStepsHomeImprovementDefault
2734
- ],
2735
- 'Home Builders': [
2736
- ...nextStepsHomeImprovementDefault
2737
- ],
2738
- 'Home Inspection': [
2739
- ...nextStepsHomeImprovementDefault
2740
- ],
2741
- 'Home Organization': [
2742
- 'homeOrganizationSubtype',
2743
- ...nextStepsHomeImprovementDefault
2744
- ],
2745
- 'Home Security': [
2746
- ...nextStepsHomeImprovementDefault
2747
- ],
2748
- 'Home Staging': [
2749
- 'numberOfRooms',
2750
- ...nextStepsHomeImprovementDefault
2751
- ],
2752
- 'Home Theater': [
2753
- 'homeTheaterSubtype',
2754
- ...nextStepsHomeImprovementDefault
2755
- ],
2756
- 'Home Warranties': [
2757
- ...nextStepsHomeImprovementDefault
2758
- ],
2759
- 'Hot Tubs': [
2760
- 'homeImprovementWorkType',
2761
- ...nextStepsHomeImprovementDefault
2762
- ],
2763
- 'Heating and Cooling': [
2764
- 'heatingCoolingSubtype',
2765
- 'fuelSource',
2766
- 'homeImprovementWorkType',
2767
- ...nextStepsHomeImprovementDefault
2768
- ],
2769
- 'Insulation': [
2770
- 'insulationSubtype',
2771
- ...nextStepsHomeImprovementDefault
2772
- ],
2773
- 'Junk Removal': [
2774
- ...nextStepsHomeImprovementDefault
2775
- ],
2776
- 'Landscaping': [
2777
- 'landscapingSubtype',
2778
- 'homeImprovementWorkType',
2779
- ...nextStepsHomeImprovementDefault
2780
- ],
2781
- 'Locksmiths': [
2782
- ...nextStepsHomeImprovementDefault
2783
- ],
2784
- 'Masonry and Concrete': [
2785
- 'masonrySubtype',
2786
- 'masonryMaterial',
2787
- 'masonryWorkType',
2788
- ...nextStepsHomeImprovementDefault
2789
- ],
2790
- 'Restoration': [
2791
- 'restorationSubtype',
2792
- ...nextStepsHomeImprovementDefault
2793
- ],
2794
- 'Moving': [
2795
- 'movingFromAddress',
2796
- 'movingToAddress',
2797
- 'movingHouseholdSize',
2798
- ...nextStepsHomeImprovementDefault
2799
- ],
2800
- 'Painting': [
2801
- 'paintingSubtype',
2802
- 'paintingRooms',
2803
- ...nextStepsHomeImprovementDefault
2804
- ],
2805
- 'Pest Control': [
2806
- 'pestControlSubtype',
2807
- ...nextStepsHomeImprovementDefault
2808
- ],
2809
- 'Pools': [
2810
- 'poolsWorkType',
2811
- 'poolsSubtype',
2812
- ...nextStepsHomeImprovementDefault
2813
- ],
2814
- 'Plumbing': [
2815
- 'plumbingSubtype',
2816
- 'homeImprovementWorkType',
2817
- ...nextStepsHomeImprovementDefault
2818
- ],
2819
- 'Pressure Washing': [
2820
- ...nextStepsHomeImprovementDefault
2821
- ],
2822
- 'Remodeling': [
2823
- 'remodelingSubtype',
2824
- ...nextStepsHomeImprovementDefault
2825
- ],
2826
- 'Roofing': [
2827
- 'roofingWorkType',
2828
- 'roofingMaterial',
2829
- ...nextStepsHomeImprovementDefault
2830
- ],
2831
- 'Sheds': [
2832
- 'homeImprovementWorkType',
2833
- ...nextStepsHomeImprovementDefault
2834
- ],
2835
- 'Siding': [
2836
- 'sidingMaterial',
2837
- 'homeImprovementWorkType',
2838
- ...nextStepsHomeImprovementDefault
2839
- ],
2840
- 'Solar': [
2841
- 'homeImprovementWorkType',
2842
- ...nextStepsHomeImprovementDefault
2843
- ],
2844
- 'Tiling': [
2845
- 'tilingSubtype',
2846
- 'homeImprovementWorkType',
2847
- ...nextStepsHomeImprovementDefault
2848
- ],
2849
- 'Walk-in Tubs': [
2850
- ...nextStepsHomeImprovementDefault
2851
- ],
2852
- 'Waterproofing': [
2853
- 'waterproofingSubtype',
2854
- ...nextStepsHomeImprovementDefault
2855
- ],
2856
- 'Window Cleaning': [
2857
- ...nextStepsHomeImprovementDefault
2858
- ],
2859
- 'Windows': [
2860
- 'windowsWorkType',
2861
- 'windowsSubtype',
2862
- 'numberOfWindows',
2863
- ...nextStepsHomeImprovementDefault
2864
- ]
2240
+ Restoration: ["restorationSubtype", ...nextStepsHomeImprovementDefault],
2241
+ Moving: ["movingFromAddress", "movingToAddress", "movingHouseholdSize", ...nextStepsHomeImprovementDefault],
2242
+ Painting: ["paintingSubtype", "paintingRooms", ...nextStepsHomeImprovementDefault],
2243
+ "Pest Control": ["pestControlSubtype", ...nextStepsHomeImprovementDefault],
2244
+ Pools: ["poolsWorkType", "poolsSubtype", ...nextStepsHomeImprovementDefault],
2245
+ Plumbing: ["plumbingSubtype", "homeImprovementWorkType", ...nextStepsHomeImprovementDefault],
2246
+ "Pressure Washing": [...nextStepsHomeImprovementDefault],
2247
+ Remodeling: ["remodelingSubtype", ...nextStepsHomeImprovementDefault],
2248
+ Roofing: ["roofingWorkType", "roofingMaterial", ...nextStepsHomeImprovementDefault],
2249
+ Sheds: ["homeImprovementWorkType", ...nextStepsHomeImprovementDefault],
2250
+ Siding: ["sidingMaterial", "homeImprovementWorkType", ...nextStepsHomeImprovementDefault],
2251
+ Solar: ["homeImprovementWorkType", ...nextStepsHomeImprovementDefault],
2252
+ Tiling: ["tilingSubtype", "homeImprovementWorkType", ...nextStepsHomeImprovementDefault],
2253
+ "Walk-in Tubs": [...nextStepsHomeImprovementDefault],
2254
+ Waterproofing: ["waterproofingSubtype", ...nextStepsHomeImprovementDefault],
2255
+ "Window Cleaning": [...nextStepsHomeImprovementDefault],
2256
+ Windows: ["windowsWorkType", "windowsSubtype", "numberOfWindows", ...nextStepsHomeImprovementDefault],
2865
2257
  },
2866
- '*': nextStepsHomeImprovementDefault
2867
- }
2258
+ "*": nextStepsHomeImprovementDefault,
2259
+ },
2868
2260
  };
2869
2261
 
2870
2262
  const nextStepsMapPainting = {
2871
2263
  values: {
2872
- 'Painting_Subtype': {
2873
- 'Whole Exterior': nextStepsHomeImprovementDefault,
2874
- 'Exterior Touch-up': nextStepsHomeImprovementDefault,
2875
- 'Interior Rooms': [
2876
- 'paintingRooms',
2877
- ...nextStepsHomeImprovementDefault
2878
- ],
2879
- 'Interior Touch-up': [
2880
- 'paintingRooms',
2881
- ...nextStepsHomeImprovementDefault
2882
- ],
2883
- 'Ceilings': [
2884
- 'paintingRooms',
2885
- ...nextStepsHomeImprovementDefault
2886
- ],
2887
- 'Deck': nextStepsHomeImprovementDefault,
2888
- 'Shed': nextStepsHomeImprovementDefault,
2889
- 'Cabinets': nextStepsHomeImprovementDefault,
2890
- 'Not Sure or Other': nextStepsHomeImprovementDefault,
2891
- }
2892
- }
2264
+ Painting_Subtype: {
2265
+ "Whole Exterior": nextStepsHomeImprovementDefault,
2266
+ "Exterior Touch-up": nextStepsHomeImprovementDefault,
2267
+ "Interior Rooms": ["paintingRooms", ...nextStepsHomeImprovementDefault],
2268
+ "Interior Touch-up": ["paintingRooms", ...nextStepsHomeImprovementDefault],
2269
+ Ceilings: ["paintingRooms", ...nextStepsHomeImprovementDefault],
2270
+ Deck: nextStepsHomeImprovementDefault,
2271
+ Shed: nextStepsHomeImprovementDefault,
2272
+ Cabinets: nextStepsHomeImprovementDefault,
2273
+ "Not Sure or Other": nextStepsHomeImprovementDefault,
2274
+ },
2275
+ },
2893
2276
  };
2894
2277
 
2895
2278
  const meta = defaultMetaPropsHomeImprovement();
@@ -2937,7 +2320,7 @@ meta.data.dynamicSchema = [
2937
2320
  // steps.movingToAddress(),
2938
2321
  // steps.movingHouseholdSize(),
2939
2322
  paintingSubtype({
2940
- nextStepMap: nextStepsMapPainting
2323
+ nextStepMap: nextStepsMapPainting,
2941
2324
  }),
2942
2325
  paintingRooms(),
2943
2326
  pestControlSubtype(),
@@ -2956,15 +2339,15 @@ meta.data.dynamicSchema = [
2956
2339
  // steps.plumbingCrossSellQuestions(),
2957
2340
  commentsHeadline({
2958
2341
  label: null,
2959
- headline: 'Please briefly describe your project:',
2960
- headlineClass: '!t-text-dark',
2961
- }),
2342
+ headline: "Please briefly describe your project:",
2343
+ headlineClass: "!t-text-dark",
2344
+ }),
2962
2345
  // steps.homeImprovementCrossSells({
2963
- // headlineClass: '!t-text-dark',
2346
+ // headlineClass: "!t-text-dark",
2964
2347
  // nextStepMap: forms.nextStepsMapHomeImprovementCrossSells,
2965
2348
  // }),
2966
2349
  firstAndLastV3({
2967
- headlineClass: '!t-text-dark'
2350
+ headlineClass: "!t-text-dark",
2968
2351
  }),
2969
2352
  ];
2970
2353
 
@@ -2972,44 +2355,47 @@ const schema = [
2972
2355
  meta,
2973
2356
  formAnchor(),
2974
2357
  {
2975
- $cmp: 'FormKit',
2358
+ $cmp: "FormKit",
2976
2359
  props: formProps({
2977
- formId: 'generalHomeImprovement',
2360
+ formId: "generalHomeImprovement",
2978
2361
  redirectMap: homeImprovementRedirectMap(),
2979
2362
  // valueOverrideMap: forms.homeImprovementAllValueOverrideMap,
2980
- // crossSellOptionMap: forms.homeImprovementCrossSellOptionMap
2363
+ // crossSellOptionMap: forms.homeImprovementCrossSellOptionMap,
2981
2364
  }),
2982
2365
  children: [
2983
2366
  progressBar(),
2984
2367
  headline({
2985
- children: '$urlParam("hl", "Get Free Quotes Now!")',
2986
- if: '$activeStep === $firstStep()'
2368
+ children: '$urlParam("hl", "Get Started Here!")',
2369
+ if: "$activeStep === $firstStep()",
2370
+ }),
2371
+ subHeadline({
2372
+ children: '$urlParam("shl", "Fast. Reliable. Local. Free")',
2373
+ if: "$activeStep === $firstStep()",
2987
2374
  }),
2988
- defaultSubHeadline(),
2989
2375
  ...hiddenInputsHomeImprovement,
2990
2376
  {
2991
- $el: 'div',
2377
+ $el: "div",
2992
2378
  attrs: {
2993
- class: 'form-body'
2379
+ class: "form-body",
2994
2380
  },
2995
2381
  children: [
2996
2382
  homeImprovementCategory({
2997
2383
  nextOnInput: false,
2998
2384
  nextStepMap: nextStepsMapGeneralHomeImprovement,
2999
- headlineClass: 't-text-lg',
2385
+ headlineClass: "t-text-lg",
3000
2386
  input: {
3001
- placeholder: 'Select a Category',
3002
- innerClass: '!t-max-w-[275px] md:!t-max-w-xl'
3003
- }
2387
+ placeholder: "Select a Category",
2388
+ innerClass: "!t-max-w-[275px] md:!t-max-w-xl",
2389
+ },
3004
2390
  }),
3005
- dynamicSchemaNode('Category'),
2391
+ dynamicSchemaNode("Category"),
3006
2392
  contactInfo(),
3007
2393
  formNavigation(),
3008
- formDetails()
3009
- ]
3010
- }
3011
- ]
3012
- }
2394
+ formDetails(),
2395
+ ],
2396
+ },
2397
+ ],
2398
+ },
3013
2399
  ];
3014
2400
 
3015
2401
  export { schema as default };