mod-build 4.0.3 → 4.0.4-8.beta-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc +36 -2
- package/.stylelintrc.json +23 -0
- package/CHANGELOG.md +169 -6
- package/gulp-tasks/templates.js +3 -3
- package/package.json +33 -26
- package/siteconfig.js +1 -0
- package/src/data/seasons.js +1 -1
- package/src/data/trade-questions/alerts_medical.js +109 -0
- package/src/data/trade-questions/bathroom_refacing.js +94 -0
- package/src/data/trade-questions/cabinet_refacing.js +249 -0
- package/src/data/trade-questions/cabinets.js +34 -0
- package/src/data/trade-questions/concrete_foundation.js +55 -0
- package/src/data/trade-questions/door.js +141 -0
- package/src/data/trade-questions/flooring.js +184 -0
- package/src/data/trade-questions/garage_door.js +87 -0
- package/src/data/trade-questions/gutters.js +44 -0
- package/src/data/trade-questions/home_security.js +129 -0
- package/src/data/trade-questions/home_warranty.js +55 -0
- package/src/data/trade-questions/hot_tubs.js +90 -0
- package/src/data/trade-questions/hvac.js +177 -0
- package/src/data/trade-questions/index.js +23 -0
- package/src/data/trade-questions/insulation.js +116 -0
- package/src/data/trade-questions/plumbing.js +258 -0
- package/src/data/trade-questions/roofing.js +116 -0
- package/src/data/trade-questions/siding.js +148 -0
- package/src/data/trade-questions/solar.js +67 -0
- package/src/data/trade-questions/stair_lifts.js +45 -0
- package/src/data/trade-questions/tree_services.js +167 -0
- package/src/data/trade-questions/walk_in_tubs.js +45 -0
- package/src/data/trade-questions/water_treatment.js +46 -0
- package/src/data/trade-questions/windows.js +130 -0
- package/src/data/trade-questions-config.js +137 -0
- package/src/scripts/default/rage-clicking.js +8 -1
- package/src/scripts/default/show-utility-providers.js +28 -0
- package/src/scripts/default/update-link-paths.js +11 -4
- package/src/scripts/globals.js +3 -2
- package/src/scripts/plugins.js +9 -0
- package/src/scripts/retry-axios.js +21 -0
- package/src/scripts/utils.js +19 -1
- package/src/scripts/vendor/heap-addeventproperties-identify.js +1 -1
- package/src/scripts/vendor/heap-tracking.js +1 -1
- package/src/scripts/vendor/heap-vwo.js +1 -1
- package/src/scripts/vendor/visual-website-optimizer.js +1 -0
- package/tasks/add-editorconfig.js +21 -0
- package/tasks/clean.js +1 -1
- package/tasks/get-default-trade-questions.js +153 -0
- package/tasks/grab-cdn.js +12 -6
- package/tasks/grab-form-helpers.js +14 -5
- package/tasks/grab-shared-components.js +11 -4
- package/tasks/grab-shared-scripts.js +59 -9
- package/tasks/serve.js +6 -1
- package/tasks/templates.js +200 -18
- package/vite.config.js +63 -24
- package/.sass-lint.yml +0 -166
- package/public/resources/scripts/abandonment/abandonment-e099a424bf17408f1db2.min.js +0 -2
- package/public/resources/scripts/abandonment/abandonment.min.js +0 -2
- package/public/resources/scripts/callrail/callrail-5c7c537f04af468600cf.min.js +0 -2
- package/public/resources/scripts/callrail/callrail.min.js +0 -2
- package/public/resources/scripts/footer/footer-component-7b5e263f64568573ecc0.min.js +0 -2
- package/public/resources/scripts/footer/footer-component.min.js +0 -2
- package/public/resources/scripts/helpers/initNumericOnlyFields.min.js +0 -2
- package/public/resources/scripts/helpers/initNumericOnlyFields.min.js.map +0 -1
- package/public/resources/scripts/helpers/isZipCodeValid.min.js +0 -2
- package/public/resources/scripts/helpers/isZipCodeValid.min.js.map +0 -1
- package/public/resources/scripts/jornaya.hbs +0 -35
- package/public/resources/scripts/jornaya.html +0 -35
- package/public/resources/scripts/mod-alytics/modalytics-0ac7d7a5a72ea67a0f47.min.js +0 -2
- package/public/resources/scripts/mod-alytics/modalytics.min.js +0 -2
- package/public/resources/scripts/mod-form/form/homeowner-c679dec331e78b71a599.min.js +0 -2
- package/public/resources/scripts/mod-form/form/homeowner.min.js +0 -2
- package/public/resources/scripts/mod-utils/modutils-15069d7b728a555fb3f7.min.js +0 -2
- package/public/resources/scripts/mod-utils/modutils.min.js +0 -2
- package/public/resources/scripts/trusted-form.hbs +0 -38
- package/public/resources/scripts/trusted-form.html +0 -38
- package/public/resources/styles/components/abandonment/abandonment-a8571a9e32ed6ef9acb4.min.css +0 -1
- package/public/resources/styles/components/abandonment/abandonment.min.css +0 -1
- package/public/resources/styles/components/footer/mod-footer-1fb2cec3278f29df57d0.min.css +0 -1
- package/public/resources/styles/components/footer/mod-footer.min.css +0 -1
- package/public/resources/styles/components/footer/qs-footer-9a3b0ab00428b03e6e9e.min.css +0 -1
- package/public/resources/styles/components/footer/qs-footer.min.css +0 -1
package/.eslintrc
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
"env": {
|
|
3
3
|
"node": true,
|
|
4
4
|
"browser": true,
|
|
5
|
-
"es2021": true,
|
|
6
5
|
"jquery": true
|
|
7
6
|
},
|
|
8
7
|
"extends": [
|
|
@@ -12,7 +11,42 @@
|
|
|
12
11
|
"ecmaVersion": "latest",
|
|
13
12
|
"sourceType": "module"
|
|
14
13
|
},
|
|
14
|
+
"globals": {
|
|
15
|
+
"require": true,
|
|
16
|
+
"module": true
|
|
17
|
+
},
|
|
15
18
|
"rules": {
|
|
16
|
-
|
|
19
|
+
"brace-style": [2, "1tbs"],
|
|
20
|
+
"camelcase": 2,
|
|
21
|
+
"comma-dangle": [2, "never"],
|
|
22
|
+
"comma-style": [2, "last"],
|
|
23
|
+
"curly": [2, "all"],
|
|
24
|
+
"default-case": 2,
|
|
25
|
+
"dot-notation": 2,
|
|
26
|
+
"eqeqeq": [2, "always", {"null": "ignore"}],
|
|
27
|
+
"guard-for-in": 2,
|
|
28
|
+
"indent": [2, "tab"],
|
|
29
|
+
"key-spacing": [2, {"beforeColon": false, "afterColon": true, "mode": "minimum"}],
|
|
30
|
+
"keyword-spacing": [2, {"before": true, "after": true}],
|
|
31
|
+
"new-cap": 2,
|
|
32
|
+
"no-console": 0,
|
|
33
|
+
"no-floating-decimal": 2,
|
|
34
|
+
"no-nested-ternary": 2,
|
|
35
|
+
"no-new": 2,
|
|
36
|
+
"no-shadow": 2,
|
|
37
|
+
"no-use-before-define": 2,
|
|
38
|
+
"operator-linebreak": [2, "before", {"overrides": {"?": "after", ":": "after"}}],
|
|
39
|
+
"prefer-const": 2,
|
|
40
|
+
"quotes": [2, "single"],
|
|
41
|
+
"semi": 2,
|
|
42
|
+
"semi-spacing": 2,
|
|
43
|
+
"space-before-blocks": [2, "always"],
|
|
44
|
+
"space-before-function-paren": [2, "never"],
|
|
45
|
+
"spaced-comment": [2, "always", {"exceptions": ["-"]}],
|
|
46
|
+
"space-infix-ops": 2,
|
|
47
|
+
"space-in-parens": [2, "never"],
|
|
48
|
+
"strict": [2, "never"],
|
|
49
|
+
"valid-jsdoc": [2, {"requireReturn": false, "prefer": {"return": "returns"}}],
|
|
50
|
+
"wrap-iife": [2, "inside", {"functionPrototypeMethods": true}]
|
|
17
51
|
}
|
|
18
52
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "stylelint-config-standard-scss",
|
|
3
|
+
"plugins": [
|
|
4
|
+
"stylelint-order",
|
|
5
|
+
"@namics/stylelint-bem"
|
|
6
|
+
],
|
|
7
|
+
"defaultSeverity": "warning",
|
|
8
|
+
"rules": {
|
|
9
|
+
"no-descending-specificity": null,
|
|
10
|
+
"scss/no-global-function-names": null,
|
|
11
|
+
"selector-class-pattern": [
|
|
12
|
+
"^[a-z0-9\\-_]+$",
|
|
13
|
+
{
|
|
14
|
+
"message": "Selector should be written in lowercase with hyphens or underscores (selector-class-pattern)"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"order/properties-alphabetical-order": true,
|
|
18
|
+
"plugin/stylelint-bem-namics": {
|
|
19
|
+
"patternPrefixes": [],
|
|
20
|
+
"helperPrefixes": []
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,167 @@
|
|
|
1
|
-
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 4.0.48
|
|
4
|
+
|
|
5
|
+
- Added missed attributes in global questions config of siding and tree services.
|
|
6
|
+
|
|
7
|
+
## 4.0.47
|
|
8
|
+
|
|
9
|
+
- Enabling JSlint `failOnError`
|
|
10
|
+
|
|
11
|
+
## 4.0.46
|
|
12
|
+
|
|
13
|
+
- Added in the outer `ServiceType` missing object for Water Treatment trade questions config.
|
|
14
|
+
|
|
15
|
+
## 4.0.45
|
|
16
|
+
|
|
17
|
+
- Added the new `getDataAttributeValue` helper function; Also updated the generic error language in `get-default-trade-questions`.
|
|
18
|
+
|
|
19
|
+
## 4.0.44
|
|
20
|
+
|
|
21
|
+
- Created new vite plugin to add data attribute to image source if class 'lazy' is added.
|
|
22
|
+
|
|
23
|
+
## 4.0.43
|
|
24
|
+
|
|
25
|
+
- Updating `grab-shared-components` task to pull subdirectories, instead of just the root level for component files.
|
|
26
|
+
|
|
27
|
+
## 4.0.42
|
|
28
|
+
|
|
29
|
+
- Added trade questions config.
|
|
30
|
+
|
|
31
|
+
## 4.0.41
|
|
32
|
+
|
|
33
|
+
- Bug fix.
|
|
34
|
+
|
|
35
|
+
## 4.0.40
|
|
36
|
+
|
|
37
|
+
- Updated `vendorPublicIdentifier` logic to work for new bestcompany.com branded pages.
|
|
38
|
+
|
|
39
|
+
## 4.0.39
|
|
40
|
+
|
|
41
|
+
- Added the E-Sign Consent modal to be grabbed as part of the `grab-cdn` task.
|
|
42
|
+
|
|
43
|
+
## 4.0.37
|
|
44
|
+
|
|
45
|
+
- Updated `getConsentCaptureLanguage` to include the `profileId` version of the display name API.
|
|
46
|
+
*Currently being used for Best Company branded form pages.*
|
|
47
|
+
|
|
48
|
+
## 4.0.36
|
|
49
|
+
|
|
50
|
+
- Included an option for `service` to be appended to the `brandedIncludeServiceConsentCapture` for consent capture.
|
|
51
|
+
|
|
52
|
+
## 4.0.35
|
|
53
|
+
|
|
54
|
+
- Updating the `grab-shared-scripts` task to include the source map files for troubleshooting purposes.
|
|
55
|
+
|
|
56
|
+
## 4.0.34
|
|
57
|
+
|
|
58
|
+
- Adding current logic for `getConsentCaptureLanguage()` to grab the O&O Consent Capture TCPA language.
|
|
59
|
+
|
|
60
|
+
- Updated `isBranded` sites to grab the display name from HS Form Service API to add to the `brandedConsentLanguage`.
|
|
61
|
+
|
|
62
|
+
## 4.0.33
|
|
63
|
+
|
|
64
|
+
- Adding current logic for appending the Modernize consent checkbox in the TCPA for sites using Vite
|
|
65
|
+
|
|
66
|
+
## 4.0.32
|
|
67
|
+
|
|
68
|
+
- Updating the `grab-form-helpers.js` task to not have a double slash when copying files over
|
|
69
|
+
|
|
70
|
+
## 4.0.31
|
|
71
|
+
|
|
72
|
+
- Adding `geolocation.min.js` to the `grab-cdn` task
|
|
73
|
+
|
|
74
|
+
## 4.0.30
|
|
75
|
+
|
|
76
|
+
- Reverting back to version `16.9.0` of `stylelint` as the newest version was throwing config error
|
|
77
|
+
|
|
78
|
+
## 4.0.29
|
|
79
|
+
|
|
80
|
+
- Removing all the `!window.Modalytics.privacyPreferencesDetected` conditionals (as we are no longer moving forward with this integration).
|
|
81
|
+
|
|
82
|
+
## 4.0.28
|
|
83
|
+
|
|
84
|
+
- Updating the TCPA `nodeEnv` to be pulled from `defaultSettings` so the TCPA gets pulled from the correct environment.
|
|
85
|
+
|
|
86
|
+
## 4.0.27
|
|
87
|
+
|
|
88
|
+
- Installed `vite-plugin-minify` plugin to minify the html files
|
|
89
|
+
|
|
90
|
+
## 4.0.24 - 4.0.26
|
|
91
|
+
|
|
92
|
+
- Disabling JSlint `failOnError` so we can rebuild BestCompany sites to grab the most recent TCPA update
|
|
93
|
+
|
|
94
|
+
## 4.0.23
|
|
95
|
+
|
|
96
|
+
- Adding `exit(1)` to Axios errors so that the build will fail if shared scripts / components are not successfully created.
|
|
97
|
+
|
|
98
|
+
## 4.0.22
|
|
99
|
+
|
|
100
|
+
- Add contractor form to list of shared resources
|
|
101
|
+
|
|
102
|
+
## 4.0.21
|
|
103
|
+
|
|
104
|
+
- Updating VWO cookies' expiration date to be only 1 day
|
|
105
|
+
|
|
106
|
+
## 4.0.20
|
|
107
|
+
|
|
108
|
+
- Seasonal updates enhancements
|
|
109
|
+
|
|
110
|
+
## 4.0.18
|
|
111
|
+
|
|
112
|
+
- Add `stylelint` plugin and default settings to show CSS warnings during build
|
|
113
|
+
- Create a default `.stylelint.yml` file during build if one doesn't exist
|
|
114
|
+
- Update the `clean` function to only delete from `public/resources` and not entire public directory
|
|
115
|
+
|
|
116
|
+
## 4.0.17
|
|
117
|
+
|
|
118
|
+
- Updating `fetchTcpaFromSitegenie()` to no longer have any use-cases of QuinStreet as the company name; should be Modernize all the time.
|
|
119
|
+
|
|
120
|
+
## 4.0.16
|
|
121
|
+
|
|
122
|
+
- Tech Debt: Moving the `getDefaultTopRecommendedContent()` locally back to the bestcompany-top-recommended repo (as it is not needed as a global function)
|
|
123
|
+
|
|
124
|
+
## 4.0.15
|
|
125
|
+
|
|
126
|
+
- Updated the `firstDate` for the Warmer Weather season (needs to match the flags set in the seasonal-updates repository trigger)
|
|
127
|
+
|
|
128
|
+
## 4.0.14
|
|
129
|
+
|
|
130
|
+
- Adding a call to grab the default content for Best Company Top Recommended pages so there isn't a delay on the initial page
|
|
131
|
+
|
|
132
|
+
## 4.0.13
|
|
133
|
+
|
|
134
|
+
- Making sure the abandonment.min.js gets copied to the right folder path (needs to copy to /abandonment/accessible/ if the site is indeed using the accessible version). This will ensure our shared-resource deployments trigger the files correctly.
|
|
135
|
+
|
|
136
|
+
## 4.0.12
|
|
137
|
+
|
|
138
|
+
- Adding a handlebars helper to see if the value is an array or not
|
|
139
|
+
|
|
140
|
+
## 4.0.11
|
|
141
|
+
|
|
142
|
+
- Adding the overflow on slide transition
|
|
143
|
+
|
|
144
|
+
## 4.0.10
|
|
145
|
+
|
|
146
|
+
- Adding `pathSubdirectory` to transformed footer modal paths
|
|
147
|
+
|
|
148
|
+
## 4.0.9
|
|
149
|
+
|
|
150
|
+
- Updating the TCPA fetch to replace the `<%=company_name%>` if one is sent through
|
|
151
|
+
|
|
152
|
+
## 4.0.8
|
|
153
|
+
|
|
154
|
+
- Updating the build WriteBundle() to also update our CSS paths (if applicable)
|
|
155
|
+
|
|
156
|
+
## 4.0.7
|
|
157
|
+
|
|
158
|
+
- Adding axios interceptor to retry requests a maximum of 2 times if the response fails initially
|
|
159
|
+
|
|
160
|
+
## 4.0.5
|
|
161
|
+
|
|
162
|
+
- Preventing scroll on step .focus() after slide transitions
|
|
163
|
+
|
|
164
|
+
## 4.0.4
|
|
2
165
|
|
|
3
166
|
- Add global preventRageClick function
|
|
4
167
|
|
|
@@ -11,13 +174,13 @@
|
|
|
11
174
|
## 4.0.0-beta.5
|
|
12
175
|
|
|
13
176
|
- Updated the `transformIndexHtml` hook to use the `writeBundle` hook in the ViteConfig.
|
|
14
|
-
|
|
177
|
+
- This change ensures that all assets are transformed before adding the `pathSubdirectory` to the assets and local resources.
|
|
15
178
|
|
|
16
179
|
- Updated the `grab-shared-scripts` task to run more sequentially.
|
|
17
|
-
|
|
180
|
+
- All files are now downloaded and hashed before going through the functions to replace local paths.
|
|
18
181
|
|
|
19
182
|
- Changed global resources to download to the site's `/public` folder instead of inside `/src`.
|
|
20
|
-
|
|
183
|
+
- This prevents Vite from bundling them during the build process as they are static JS files.
|
|
21
184
|
|
|
22
185
|
## 4.0.0-beta.3
|
|
23
186
|
|
|
@@ -28,8 +191,8 @@
|
|
|
28
191
|
|
|
29
192
|
## 4.0.0-beta.1
|
|
30
193
|
|
|
31
|
-
See https://quinstreet.atlassian.net/wiki/spaces/FEE/pages/8100970716/Mod-build+Vite+Version+4
|
|
194
|
+
See <https://quinstreet.atlassian.net/wiki/spaces/FEE/pages/8100970716/Mod-build+Vite+Version+4>
|
|
32
195
|
|
|
33
196
|
## 4.0.0-alpha.1
|
|
34
197
|
|
|
35
|
-
Brand new build process using Vite 5, Node 18+. Gulp 4 is used as a task runner to grab shared assets.
|
|
198
|
+
Brand new build process using Vite 5, Node 18+. Gulp 4 is used as a task runner to grab shared assets.
|
package/gulp-tasks/templates.js
CHANGED
|
@@ -19,7 +19,7 @@ module.exports = function(gulp, gulpPlugins, siteSettings, siteData) {
|
|
|
19
19
|
// Checking for seasonal variations in the template.js + updating content
|
|
20
20
|
var checkSeasonalVariations = require('./check-seasonal-variations.js');
|
|
21
21
|
const activeSeason = checkSeasonalVariations();
|
|
22
|
-
if (activeSeason.length !== 0){
|
|
22
|
+
if (activeSeason.length !== 0) {
|
|
23
23
|
if (siteData.seasonalVariations) {
|
|
24
24
|
activeSeason.forEach(season => {
|
|
25
25
|
if (season in siteData.seasonalVariations) {
|
|
@@ -203,7 +203,7 @@ module.exports = function(gulp, gulpPlugins, siteSettings, siteData) {
|
|
|
203
203
|
console.time('Finished fetch-default-form-config after');
|
|
204
204
|
console.log('Starting fetch-default-form-config: ');
|
|
205
205
|
await new Promise((resolve) => {
|
|
206
|
-
request(`https://${siteSettings.nodeEnv}/quote/resources/mod-site/${folder}/steps/defaultFormFieldConfig.json`, async function(
|
|
206
|
+
request(`https://${siteSettings.nodeEnv}/quote/resources/mod-site/${folder}/steps/defaultFormFieldConfig.json`, async function(_err, xhr, response) {
|
|
207
207
|
if (xhr.statusCode !== 200) {
|
|
208
208
|
throw new Error(`${xhr.statusCode}: Error while fetching ${folder}/defaultFormFieldConfig.json`);
|
|
209
209
|
}
|
|
@@ -239,7 +239,7 @@ module.exports = function(gulp, gulpPlugins, siteSettings, siteData) {
|
|
|
239
239
|
console.time('Finished fetch-tcpa-from-sitegenie after');
|
|
240
240
|
console.log('Starting fetch-tcpa-from-sitegenie: ',url);
|
|
241
241
|
await new Promise(function(resolve) {
|
|
242
|
-
request(url, async function(
|
|
242
|
+
request(url, async function(_err, xhr, response) {
|
|
243
243
|
if (xhr.statusCode !== 200) {
|
|
244
244
|
throw new Error(`${xhr.statusCode}: Error while fetching TCPA`);
|
|
245
245
|
}
|
package/package.json
CHANGED
|
@@ -1,28 +1,35 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
2
|
+
"name": "mod-build",
|
|
3
|
+
"version": "4.0.48.beta-1",
|
|
4
|
+
"description": "Share components for S3 sites.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "export NODE_ENV=qa.modernize.com IS_LOCAL=true && vite",
|
|
8
|
+
"build": "export NODE_ENV=modernize.com && vite build",
|
|
9
|
+
"preview": "export NODE_ENV=modernize.com && vite build && vite preview"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@namics/stylelint-bem": "^10.0.0",
|
|
13
|
+
"@vituum/vite-plugin-handlebars": "^1.1.0",
|
|
14
|
+
"axios": "^1.6.2",
|
|
15
|
+
"eslint": "^8.57.0",
|
|
16
|
+
"glob": "^10.3.10",
|
|
17
|
+
"gulp": "^4.0.2",
|
|
18
|
+
"gulp-handlebars-file-include": "^1.0.0",
|
|
19
|
+
"gulp-hash": "^4.2.2",
|
|
20
|
+
"gulp-replace": "^1.1.4",
|
|
21
|
+
"gulp-tap": "^2.0.0",
|
|
22
|
+
"lodash.merge": "^4.6.2",
|
|
23
|
+
"lodash.mergewith": "^4.6.2",
|
|
24
|
+
"sass": "^1.69.5",
|
|
25
|
+
"stylelint": "16.9.0",
|
|
26
|
+
"stylelint-config-standard-scss": "^13.1.0",
|
|
27
|
+
"stylelint-order": "^6.0.4",
|
|
28
|
+
"vite": "^5.0.0",
|
|
29
|
+
"vite-plugin-eslint": "^1.8.1",
|
|
30
|
+
"vite-plugin-minify": "^2.0.0",
|
|
31
|
+
"vite-plugin-static-copy": "^1.0.0",
|
|
32
|
+
"vite-plugin-stylelint": "^5.3.1",
|
|
33
|
+
"vituum": "^1.1.0"
|
|
34
|
+
}
|
|
28
35
|
}
|
package/siteconfig.js
CHANGED
package/src/data/seasons.js
CHANGED
|
@@ -0,0 +1,109 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,94 @@
|
|
|
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
|
+
};
|