mod-build 4.0.48 → 4.0.49

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 (153) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/package.json +1 -1
  3. package/public/resources/scripts/abandonment/abandonment-a4bbb36fbc8ed64042b8.min.js +2 -0
  4. package/public/resources/scripts/abandonment/abandonment.min.js +2 -0
  5. package/public/resources/scripts/callrail/callrail-14011d73b50a928de4b4.min.js +2 -0
  6. package/public/resources/scripts/callrail/callrail.min.js +2 -0
  7. package/public/resources/scripts/footer/footer-component-46dc0d7ca6af4fc3b76b.min.js +2 -0
  8. package/public/resources/scripts/footer/footer-component.min.js +2 -0
  9. package/public/resources/scripts/geolocation/geolocation.min.js +2 -0
  10. package/public/resources/scripts/helpers/addVWOTestQueryParam.min.js +2 -0
  11. package/public/resources/scripts/helpers/addVWOTestQueryParam.min.js.map +1 -0
  12. package/public/resources/scripts/helpers/additionalOpts.min.js +2 -0
  13. package/public/resources/scripts/helpers/additionalOpts.min.js.map +1 -0
  14. package/public/resources/scripts/helpers/calls-only.min.js +2 -0
  15. package/public/resources/scripts/helpers/calls-only.min.js.map +1 -0
  16. package/public/resources/scripts/helpers/getPhoneAssignmentData.min.js +2 -0
  17. package/public/resources/scripts/helpers/getPhoneAssignmentData.min.js.map +1 -0
  18. package/public/resources/scripts/helpers/initNumericOnlyFields.min.js +2 -0
  19. package/public/resources/scripts/helpers/initNumericOnlyFields.min.js.map +1 -0
  20. package/public/resources/scripts/helpers/initQSForm.min.js +2 -0
  21. package/public/resources/scripts/helpers/initQSForm.min.js.map +1 -0
  22. package/public/resources/scripts/helpers/initQuadTransform.min.js +2 -0
  23. package/public/resources/scripts/helpers/initQuadTransform.min.js.map +1 -0
  24. package/public/resources/scripts/helpers/isZipCodeValid.min.js +2 -0
  25. package/public/resources/scripts/helpers/isZipCodeValid.min.js.map +1 -0
  26. package/public/resources/scripts/helpers/observeVWOVariation.min.js +2 -0
  27. package/public/resources/scripts/helpers/observeVWOVariation.min.js.map +1 -0
  28. package/public/resources/scripts/helpers/opts.min.js +2 -0
  29. package/public/resources/scripts/helpers/opts.min.js.map +1 -0
  30. package/public/resources/scripts/jornaya.hbs +35 -0
  31. package/public/resources/scripts/jornaya.html +35 -0
  32. package/public/resources/scripts/mod-alytics/modalytics-be44027508c0438f6709.min.js +2 -0
  33. package/public/resources/scripts/mod-alytics/modalytics.min.js +2 -0
  34. package/public/resources/scripts/mod-form/form/contractor-0918337caf3dfede1609.min.js +2 -0
  35. package/public/resources/scripts/mod-form/form/contractor.min.js +2 -0
  36. package/public/resources/scripts/mod-form/form/homeowner-19a121b0e596042326f4.min.js +2 -0
  37. package/public/resources/scripts/mod-form/form/homeowner.min.js +2 -0
  38. package/public/resources/scripts/mod-utils/modutils-bc275eb41af515f626ef.min.js +2 -0
  39. package/public/resources/scripts/mod-utils/modutils.min.js +2 -0
  40. package/public/resources/scripts/trusted-form.hbs +38 -0
  41. package/public/resources/scripts/trusted-form.html +38 -0
  42. package/public/resources/styles/components/abandonment/abandonment-8a673f060817db6cb7dc.min.css +1 -0
  43. package/public/resources/styles/components/abandonment/abandonment.min.css +1 -0
  44. package/public/resources/styles/components/footer/mod-footer-d233fa64b6c8297c70ec.min.css +1 -0
  45. package/public/resources/styles/components/footer/mod-footer.min.css +1 -0
  46. package/public/resources/styles/components/footer/qs-footer-926e67c28d10c729db46.min.css +1 -0
  47. package/public/resources/styles/components/footer/qs-footer.min.css +1 -0
  48. package/src/resources/data/tcpa.json +4 -0
  49. package/src/resources/templates/modals/about/index.hbs +9 -0
  50. package/src/resources/templates/modals/about/index.html +9 -0
  51. package/src/resources/templates/modals/contact-us/index.hbs +348 -0
  52. package/src/resources/templates/modals/contact-us/index.html +348 -0
  53. package/src/resources/templates/modals/e-sign-consent/index.hbs +35 -0
  54. package/src/resources/templates/modals/e-sign-consent/index.html +35 -0
  55. package/src/resources/templates/modals/faq/index.hbs +9 -0
  56. package/src/resources/templates/modals/faq/index.html +9 -0
  57. package/src/resources/templates/modals/privacy/index.hbs +237 -0
  58. package/src/resources/templates/modals/privacy/index.html +237 -0
  59. package/src/resources/templates/modals/terms/index.hbs +167 -0
  60. package/src/resources/templates/modals/terms/index.html +167 -0
  61. package/src/scripts/has-qs-params.js +2 -2
  62. package/src/shared-components/call-tracking/_call-tracking.scss +311 -0
  63. package/src/shared-components/call-tracking/call-tracking-icon.html +8 -0
  64. package/src/shared-components/call-tracking/call-tracking.html +81 -0
  65. package/src/shared-components/call-tracking/phone.svg +6 -0
  66. package/src/shared-components/card-button/_card-button.scss +49 -0
  67. package/src/shared-components/card-button/card-button.html +9 -0
  68. package/src/shared-components/carousel/_carousel.scss +106 -0
  69. package/src/shared-components/carousel/carousel.html +23 -0
  70. package/src/shared-components/carousel/carousel.js +3573 -0
  71. package/src/shared-components/carousel/carousel.js.map +1 -0
  72. package/src/shared-components/carousel/carousel.min.js +2 -0
  73. package/src/shared-components/carousel/carousel.min.js.map +1 -0
  74. package/src/shared-components/carousel/carousel.min.min.js +2 -0
  75. package/src/shared-components/carousel/carousel.min.min.js.map +1 -0
  76. package/src/shared-components/checkbox/_checkbox.scss +130 -0
  77. package/src/shared-components/checkbox/checkbox.html +10 -0
  78. package/src/shared-components/consent-capture/tcpa.html +12 -0
  79. package/src/shared-components/expand-collapse/_expand-collapse.scss +93 -0
  80. package/src/shared-components/expand-collapse/expand-collapse.html +8 -0
  81. package/src/shared-components/expand-collapse/expand-collapse.js +40 -0
  82. package/src/shared-components/expand-collapse/expand-collapse.min.js +2 -0
  83. package/src/shared-components/expand-collapse/expand-collapse.min.js.map +1 -0
  84. package/src/shared-components/featured-block/_featured-block.scss +191 -0
  85. package/src/shared-components/featured-block/featured-block.html +80 -0
  86. package/src/shared-components/foot-assets/foot-assets.html +107 -0
  87. package/src/shared-components/form-tcpa/form-tcpa-spanish.html +61 -0
  88. package/src/shared-components/form-tcpa/form-tcpa.html +55 -0
  89. package/src/shared-components/gtm-body/gtm-body.html +4 -0
  90. package/src/shared-components/head/head.html +195 -0
  91. package/src/shared-components/header/_header.scss +200 -0
  92. package/src/shared-components/header/header.html +79 -0
  93. package/src/shared-components/hero/_hero.scss +276 -0
  94. package/src/shared-components/hero/hero.html +136 -0
  95. package/src/shared-components/how-it-works/_how-it-works.scss +138 -0
  96. package/src/shared-components/how-it-works/how-it-works.html +19 -0
  97. package/src/shared-components/input/_input.scss +242 -0
  98. package/src/shared-components/input/input.html +30 -0
  99. package/src/shared-components/preloader/_preloader.scss +61 -0
  100. package/src/shared-components/preloader/preloader.html +49 -0
  101. package/src/shared-components/progress-bar/_progress-bar.scss +142 -0
  102. package/src/shared-components/progress-bar/progress-bar.html +20 -0
  103. package/src/shared-components/progress-bar/progress-bar.js +26 -0
  104. package/src/shared-components/progress-bar/progress-bar.min.js +2 -0
  105. package/src/shared-components/progress-bar/progress-bar.min.js.map +1 -0
  106. package/src/shared-components/radio-button/_radio-button.scss +577 -0
  107. package/src/shared-components/radio-button/radio-button.html +25 -0
  108. package/src/shared-components/reviews/_reviews.scss +79 -0
  109. package/src/shared-components/reviews/reviews.html +27 -0
  110. package/src/shared-components/section-deals/sitemap.xml +9 -0
  111. package/src/shared-components/select/_select.scss +61 -0
  112. package/src/shared-components/select/select.html +8 -0
  113. package/src/shared-components/steps/_steps.scss +431 -0
  114. package/src/shared-components/steps/defaultFormFieldConfig.json +64 -0
  115. package/src/shared-components/steps/step-fields.html +36 -0
  116. package/src/shared-components/steps/steps.html +136 -0
  117. package/src/shared-components/textarea/_textarea.scss +96 -0
  118. package/src/shared-components/textarea/textarea.html +13 -0
  119. package/src/shared-components/theme-toggle/_theme-toggle.scss +68 -0
  120. package/src/shared-components/theme-toggle/theme-toggle.html +34 -0
  121. package/src/shared-components/tile/_tile.scss +117 -0
  122. package/src/shared-components/tile/tile.html +27 -0
  123. package/src/shared-components/value-props/_value-props.scss +99 -0
  124. package/src/shared-components/value-props/value-props.html +17 -0
  125. package/src/shared-components/zip-control/_zip-control.scss +42 -0
  126. package/src/shared-components/zip-control/zip-control.html +21 -0
  127. package/tasks/get-default-trade-questions.js +168 -128
  128. package/tasks/serve.js +1 -1
  129. package/src/data/trade-questions/alerts_medical.js +0 -109
  130. package/src/data/trade-questions/bathroom_refacing.js +0 -94
  131. package/src/data/trade-questions/cabinet_refacing.js +0 -249
  132. package/src/data/trade-questions/cabinets.js +0 -34
  133. package/src/data/trade-questions/concrete_foundation.js +0 -55
  134. package/src/data/trade-questions/door.js +0 -141
  135. package/src/data/trade-questions/flooring.js +0 -184
  136. package/src/data/trade-questions/garage_door.js +0 -87
  137. package/src/data/trade-questions/gutters.js +0 -44
  138. package/src/data/trade-questions/home_security.js +0 -129
  139. package/src/data/trade-questions/home_warranty.js +0 -55
  140. package/src/data/trade-questions/hot_tubs.js +0 -90
  141. package/src/data/trade-questions/hvac.js +0 -177
  142. package/src/data/trade-questions/index.js +0 -23
  143. package/src/data/trade-questions/insulation.js +0 -116
  144. package/src/data/trade-questions/plumbing.js +0 -258
  145. package/src/data/trade-questions/roofing.js +0 -116
  146. package/src/data/trade-questions/siding.js +0 -148
  147. package/src/data/trade-questions/solar.js +0 -67
  148. package/src/data/trade-questions/stair_lifts.js +0 -45
  149. package/src/data/trade-questions/tree_services.js +0 -167
  150. package/src/data/trade-questions/walk_in_tubs.js +0 -45
  151. package/src/data/trade-questions/water_treatment.js +0 -46
  152. package/src/data/trade-questions/windows.js +0 -130
  153. package/src/data/trade-questions-config.js +0 -137
@@ -1,153 +1,193 @@
1
1
  /* globals Promise */
2
2
  import merge from 'lodash.merge';
3
- import { tradeQuestionsConfig } from '../src/data/trade-questions-config';
3
+ import axios from 'axios';
4
+ import { defaultSettings } from '../src/data/config.js';
4
5
 
5
6
  export default async function(config) {
6
7
  if (config.useStepsConfig) {
7
- console.log('Running trade question config...');
8
- await new Promise((resolve) => {
9
- const trade = config.primary_trade.toLowerCase();
10
- const steps = tradeQuestionsConfig.tradeQuestions[trade];
11
-
12
- steps.OwnHome = tradeQuestionsConfig.OwnHome;
13
- steps.BuyTimeframe = tradeQuestionsConfig.BuyTimeframe;
14
-
15
- config.steps.items.forEach((item) => {
16
- const stepName = item.attributes.data['step-name'];
17
- if (steps[stepName]) {
18
- if (!item.stepContent) {
19
- item.stepContent = {};
8
+ console.log('Starting get-default-trade-questions...');
9
+ const trade = config.primary_trade.toLowerCase();
10
+ const resourcePath = 'quote/resources/mod-site/data/trade-questions';
11
+ let commonQuestions = {};
12
+ const commonQuestionsURL = `https://${defaultSettings.nodeEnv}/${resourcePath}/common.json`;
13
+ const tradeQuestionsURL = `https://${defaultSettings.nodeEnv}/${resourcePath}/${trade}.json`;
14
+ await new Promise(async (resolve) => {
15
+ console.log(`Started fetching common questions config...\n ${commonQuestionsURL}`);
16
+ await axios.get(commonQuestionsURL)
17
+ .then(async (resp) => {
18
+ if (resp.status !== 200) {
19
+ throw new Error(`${resp.status}: Error while fetching ${commonQuestionsURL}`);
20
20
  }
21
21
 
22
- if (!item.stepContent.fields) {
23
- item.stepContent.fields = [];
24
- }
25
- const defaultStepFields = steps[stepName].fields;
26
- let defaultStepOptions = [];
27
- let defaultQuestionLegend = {};
28
- defaultStepFields.forEach((defaultField) => {
29
- defaultStepOptions = defaultField.options;
30
- defaultQuestionLegend = defaultField.legend;
31
- });
32
-
33
- item.stepContent.fields.forEach((field) => {
34
- if (field.legend) {
35
- field.legend = merge(defaultQuestionLegend, field.legend);
36
- } else {
37
- field.legend = defaultQuestionLegend;
38
- }
39
-
40
- if (field && field.remove) {
41
- if (field.remove.includes('all')) {
42
- defaultStepOptions = [];
43
- } else {
44
- defaultStepOptions = defaultStepOptions.filter((_, i) => !field.remove.includes(i));
45
- }
46
- }
22
+ commonQuestions = { ...commonQuestions, ...resp.data };
47
23
 
48
- if (field.fieldType === 'radio') {
49
- if (!field.errorMessage) {
50
- field.errorMessage = 'Professionals need this info to generate a quote.';
24
+ console.log('Finished fetching common questions config...');
25
+ console.log(`Started fetching ${trade} questions config...\n ${tradeQuestionsURL}`);
26
+ await axios.get(tradeQuestionsURL)
27
+ .then((response) => {
28
+ if (resp.status !== 200) {
29
+ throw new Error(`${resp.status}: Error while fetching ${tradeQuestionsURL}`);
51
30
  }
52
31
 
53
- if (field.options && Array.isArray(field.options) && field.options.length) {
54
- field.options.forEach((option) => {
55
- if (typeof option.update === 'number') {
56
- merge(defaultStepOptions[option.update], option);
57
- } else {
58
- if (typeof option.insertAt === 'number') {
59
- defaultStepOptions.splice(option.insertAt, 0, option);
60
- } else {
61
- defaultStepOptions.push(option);
62
- }
63
- }
64
- });
65
- }
66
- field.options = defaultStepOptions;
67
- } else {
68
- if (field && Array.isArray(field) && field.length) {
69
- if (typeof field.update === 'number') {
70
- merge(defaultStepFields[field.update], field);
71
- } else {
72
- if (typeof field.insertAt === 'number') {
73
- defaultStepFields.splice(field.insertAt, 0, field);
74
- } else {
75
- defaultStepFields.push(field);
32
+ console.log(`Finished fetching ${trade} questions config...`);
33
+
34
+ const steps = response.data;
35
+ steps.OwnHome = commonQuestions.OwnHome;
36
+ steps.BuyTimeframe = commonQuestions.BuyTimeframe;
37
+
38
+ config.steps.items.forEach((item) => {
39
+ const stepName = item.attributes.data['step-name'];
40
+ if (steps[stepName]) {
41
+ if (!item.stepContent) {
42
+ item.stepContent = {};
76
43
  }
77
- }
78
- }
79
44
 
80
- field = defaultStepFields;
81
- }
82
- });
83
-
84
- // extra question block
85
- if (item.stepContent.extraQuestionBlock) {
86
- if (!item.stepContent.extraQuestionBlock.fields) {
87
- item.stepContent.extraQuestionBlock.fields = [];
88
- }
89
-
90
- const defaultExtraQuestionFields = steps[stepName].extraQuestionBlock.fields;
91
- let defaultExtraQuestionOptions = [];
92
- let defaultExtraQuestionLegend = {};
93
- defaultExtraQuestionFields.forEach((defaultExtraQuestionField) => {
94
- defaultExtraQuestionOptions = defaultExtraQuestionField.options;
95
- defaultExtraQuestionLegend = defaultExtraQuestionField.legend;
96
- });
97
- item.stepContent.extraQuestionBlock.fields.forEach((field) => {
45
+ if (!item.stepContent.fields) {
46
+ item.stepContent.fields = [];
47
+ }
48
+ const defaultStepFields = steps[stepName].fields;
49
+ let defaultStepOptions = [];
50
+ let defaultQuestionLegend = {};
51
+ defaultStepFields.forEach((defaultField) => {
52
+ defaultStepOptions = defaultField.options;
53
+ defaultQuestionLegend = defaultField.legend;
54
+ });
98
55
 
99
- if (field.legend) {
100
- field.legend = merge(defaultExtraQuestionLegend, field.legend);
101
- } else {
102
- field.legend = defaultExtraQuestionLegend;
103
- }
56
+ item.stepContent.fields.forEach((field) => {
57
+ if (field.legend) {
58
+ field.legend = merge(defaultQuestionLegend, field.legend);
59
+ } else {
60
+ field.legend = defaultQuestionLegend;
61
+ }
104
62
 
105
- if (field && field.remove) {
106
- if (field.remove.includes('all')) {
107
- defaultExtraQuestionOptions = [];
108
- } else {
109
- defaultExtraQuestionOptions = defaultExtraQuestionOptions.filter((_, i) => !field.remove.includes(i));
110
- }
111
- }
63
+ if (field && field.remove) {
64
+ if (field.remove.includes('all')) {
65
+ defaultStepOptions = [];
66
+ } else {
67
+ defaultStepOptions = defaultStepOptions.filter((_, i) => !field.remove.includes(i));
68
+ }
69
+ }
112
70
 
113
- if (field.fieldType === 'radio') {
114
- if (!field.errorMessage) {
115
- field.errorMessage = 'Professionals need this info to generate a quote.';
116
- }
71
+ if (field.fieldType === 'radio') {
72
+ if (!field.errorMessage) {
73
+ field.errorMessage = 'Professionals need this info to generate a quote.';
74
+ }
117
75
 
118
- if (field.options && Array.isArray(field.options) && field.options.length) {
119
- field.options.forEach((option, optionIndex) => {
120
- if (typeof option.update === 'number') {
121
- merge(defaultExtraQuestionOptions[option.update], option);
76
+ if (field.options && Array.isArray(field.options) && field.options.length) {
77
+ field.options.forEach((option) => {
78
+ if (typeof option.update === 'number') {
79
+ if (option.attributes && option.attributes.checked === false) {
80
+ delete option.attributes.checked;
81
+ delete defaultStepOptions[option.update].attributes.checked;
82
+ }
83
+ merge(defaultStepOptions[option.update], option);
84
+ } else {
85
+ if (typeof option.insertAt === 'number') {
86
+ defaultStepOptions.splice(option.insertAt, 0, option);
87
+ } else {
88
+ defaultStepOptions.push(option);
89
+ }
90
+ }
91
+ });
92
+ }
93
+ field.options = defaultStepOptions;
122
94
  } else {
123
- if (typeof option.insertAt === 'number') {
124
- defaultExtraQuestionOptions.splice(option.insertAt, 0, option);
125
- } else {
126
- defaultExtraQuestionOptions.push(option);
95
+ if (field && Array.isArray(field) && field.length) {
96
+ if (typeof field.update === 'number') {
97
+ merge(defaultStepFields[field.update], field);
98
+ } else {
99
+ if (typeof field.insertAt === 'number') {
100
+ defaultStepFields.splice(field.insertAt, 0, field);
101
+ } else {
102
+ defaultStepFields.push(field);
103
+ }
104
+ }
127
105
  }
106
+
107
+ field = defaultStepFields;
128
108
  }
129
109
  });
130
- }
131
- field.options = defaultExtraQuestionOptions;
132
- } else {
133
- if (field && Array.isArray(field) && field.length) {
134
- if (typeof field.update === 'number') {
135
- merge(defaultExtraQuestionFields[field.update], field);
136
- } else {
137
- if (typeof field.insertAt === 'number') {
138
- defaultExtraQuestionFields.splice(field.insertAt, 0, field);
139
- } else {
140
- defaultExtraQuestionFields.push(field);
110
+
111
+ // extra question block
112
+ if (item.stepContent.extraQuestionBlock) {
113
+ if (!item.stepContent.extraQuestionBlock.fields) {
114
+ item.stepContent.extraQuestionBlock.fields = [];
141
115
  }
116
+
117
+ const defaultExtraQuestionFields = steps[stepName].extraQuestionBlock.fields;
118
+ let defaultExtraQuestionOptions = [];
119
+ let defaultExtraQuestionLegend = {};
120
+ defaultExtraQuestionFields.forEach((defaultExtraQuestionField) => {
121
+ defaultExtraQuestionOptions = defaultExtraQuestionField.options;
122
+ defaultExtraQuestionLegend = defaultExtraQuestionField.legend;
123
+ });
124
+ item.stepContent.extraQuestionBlock.fields.forEach((field) => {
125
+
126
+ if (field.legend) {
127
+ field.legend = merge(defaultExtraQuestionLegend, field.legend);
128
+ } else {
129
+ field.legend = defaultExtraQuestionLegend;
130
+ }
131
+
132
+ if (field && field.remove) {
133
+ if (field.remove.includes('all')) {
134
+ defaultExtraQuestionOptions = [];
135
+ } else {
136
+ defaultExtraQuestionOptions = defaultExtraQuestionOptions.filter((_, i) => !field.remove.includes(i));
137
+ }
138
+ }
139
+
140
+ if (field.fieldType === 'radio') {
141
+ if (!field.errorMessage) {
142
+ field.errorMessage = 'Professionals need this info to generate a quote.';
143
+ }
144
+
145
+ if (field.options && Array.isArray(field.options) && field.options.length) {
146
+ field.options.forEach((option, optionIndex) => {
147
+ if (typeof option.update === 'number') {
148
+ if (option.attributes && option.attributes.checked === false) {
149
+ delete option.attributes.checked;
150
+ delete defaultStepOptions[option.update].attributes.checked;
151
+ }
152
+ merge(defaultExtraQuestionOptions[option.update], option);
153
+ } else {
154
+ if (typeof option.insertAt === 'number') {
155
+ defaultExtraQuestionOptions.splice(option.insertAt, 0, option);
156
+ } else {
157
+ defaultExtraQuestionOptions.push(option);
158
+ }
159
+ }
160
+ });
161
+ }
162
+ field.options = defaultExtraQuestionOptions;
163
+ } else {
164
+ if (field && Array.isArray(field) && field.length) {
165
+ if (typeof field.update === 'number') {
166
+ merge(defaultExtraQuestionFields[field.update], field);
167
+ } else {
168
+ if (typeof field.insertAt === 'number') {
169
+ defaultExtraQuestionFields.splice(field.insertAt, 0, field);
170
+ } else {
171
+ defaultExtraQuestionFields.push(field);
172
+ }
173
+ }
174
+ }
175
+ field = defaultExtraQuestionFields;
176
+ }
177
+ });
142
178
  }
143
179
  }
144
- field = defaultExtraQuestionFields;
145
- }
180
+ });
181
+ resolve();
182
+ })
183
+ .catch(error => {
184
+ console.error(error);
185
+ process.exit(1);
146
186
  });
147
- }
148
- }
149
- });
150
- resolve();
151
- });
187
+ }).catch(error => {
188
+ console.error(error);
189
+ process.exit(1);
190
+ });
191
+ }).then(() => console.log('Finished get-default-trade-questions...'));
152
192
  }
153
- };
193
+ };
package/tasks/serve.js CHANGED
@@ -11,9 +11,9 @@ export async function startModBuild(config) {
11
11
  addEditorConfig();
12
12
  createStylelintFile();
13
13
  await grabCdn(config);
14
+ await getDefaultTradeQuestions(config);
14
15
  await Promise.all([
15
16
  grabSharedComponents(config),
16
- getDefaultTradeQuestions(config),
17
17
  grabFormHelpers(config),
18
18
  templates(config)
19
19
  ]).then(async () => {
@@ -1,109 +0,0 @@
1
- /* eslint-disable */
2
- export const alerts_medical = {
3
- WhoseMedicalAlert: {
4
- fields: [
5
- {
6
- legend: {
7
- text: 'Who is the medical alert for?'
8
- },
9
- options: [
10
- {
11
- text: 'Myself',
12
- attributes: {
13
- name: 'WhoseMedicalAlert',
14
- value: 'Myself',
15
- checked: '',
16
- data: {
17
- required: 'nonempty'
18
- }
19
- }
20
- },
21
- {
22
- text: 'Somebody Else',
23
- attributes: {
24
- name: 'WhoseMedicalAlert',
25
- value: 'SomebodyElse',
26
- data: {
27
- required: 'nonempty'
28
- }
29
- }
30
- }
31
- ]
32
- }
33
- ]
34
- },
35
- MedicalAlertProtectionAt: {
36
- fields: [
37
- {
38
- legend: {
39
- text: 'Are you looking for protection at home or on the go?'
40
- },
41
- options: [
42
- {
43
- text: 'At Home',
44
- attributes: {
45
- name: 'MedicalAlertProtectionAt',
46
- value: 'Home',
47
- checked: '',
48
- data: {
49
- required: 'nonempty'
50
- }
51
- }
52
- },
53
- {
54
- text: 'On the Go',
55
- attributes: {
56
- name: 'MedicalAlertProtectionAt',
57
- value: 'OnTheGo',
58
- data: {
59
- required: 'nonempty'
60
- }
61
- }
62
- },
63
- {
64
- text: 'Both',
65
- attributes: {
66
- name: 'MedicalAlertProtectionAt',
67
- value: 'Both',
68
- data: {
69
- required: 'nonempty'
70
- }
71
- }
72
- }
73
- ]
74
- }
75
- ]
76
- },
77
- HasLandlineAtHome: {
78
- fields: [
79
- {
80
- legend: {
81
- text: 'Do you have a landline telephone at home?',
82
- },
83
- options: [
84
- {
85
- text: 'Yes',
86
- attributes: {
87
- name: 'HasLandlineAtHome',
88
- value: 'Yes',
89
- checked: '',
90
- data: {
91
- required: 'nonempty'
92
- }
93
- }
94
- },
95
- {
96
- text: 'No',
97
- attributes: {
98
- name: 'HasLandlineAtHome',
99
- value: 'No',
100
- data: {
101
- required: 'nonempty'
102
- }
103
- }
104
- }
105
- ]
106
- }
107
- ]
108
- }
109
- };
@@ -1,94 +0,0 @@
1
- export const bathroom_refacing = {
2
- BathProjectScope: {
3
- fields: [
4
- {
5
- legend: {
6
- text: 'Which of these best describe your needs?'
7
- },
8
- options: [
9
- {
10
- attributes: {
11
- name: 'BathProjectScope',
12
- value: 'Shower Conversion',
13
- data: {
14
- required: 'nonempty'
15
- }
16
- },
17
- text: 'Bathtub to Shower Conversion'
18
- },
19
- {
20
- attributes: {
21
- name: 'BathProjectScope',
22
- value: 'Bathtub / Shower Updates',
23
- data: {
24
- required: 'nonempty'
25
- }
26
- },
27
- text: 'Bathtub/Shower Updates'
28
- },
29
- {
30
- attributes: {
31
- name: 'BathProjectScope',
32
- value: 'Bathtub Liner / Shower Enclosure',
33
- data: {
34
- required: 'nonempty'
35
- }
36
- },
37
- text: 'Bathtub Liner/Shower Enclosure'
38
- },
39
- {
40
- attributes: {
41
- name: 'BathProjectScope',
42
- value: 'Walk-in Shower',
43
- data: {
44
- required: 'nonempty'
45
- }
46
- },
47
- text: 'Walk-in Shower'
48
- },
49
- {
50
- attributes: {
51
- name: 'BathProjectScope',
52
- value: 'Bathroom Remodel',
53
- data: {
54
- required: 'nonempty'
55
- }
56
- },
57
- text: 'Complete Bathroom Remodel'
58
- }
59
- ]
60
- }
61
- ]
62
- },
63
- OptIn1: {
64
- fields: [
65
- {
66
- legend: {
67
- text: 'Will you need to add or remove walls?'
68
- },
69
- options: [
70
- {
71
- attributes: {
72
- name: 'OptIn1',
73
- value: 'Yes',
74
- data: {
75
- required: 'nonempty'
76
- }
77
- },
78
- text: 'Yes'
79
- },
80
- {
81
- attributes: {
82
- name: 'OptIn1',
83
- value: 'No',
84
- data: {
85
- required: 'nonempty'
86
- }
87
- },
88
- text: 'No'
89
- }
90
- ]
91
- }
92
- ]
93
- }
94
- };