@visitscotland/component-library 1.0.30 → 1.0.31

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/CHANGELOG.md CHANGED
@@ -2,13 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
- ### [1.0.30](https://github.com/visitscotland/vs-component-library/compare/v1.0.29...v1.0.30) (2023-09-14)
5
+ ### [1.0.31](https://github.com/visitscotland/vs-component-library/compare/v1.0.30...v1.0.31) (2023-09-18)
6
6
 
7
7
 
8
- ### Features
8
+ ### 🐛 Bug Fixes
9
9
 
10
- * **carbon calculator:** pull in urls from labels ([e44c5ac](https://github.com/visitscotland/vs-component-library/commit/e44c5acd9a9b548226f5243a7de878eadb0e66ea))
10
+ * **carbon calculator:** get on mount rather than create ([3fd8835](https://github.com/visitscotland/vs-component-library/commit/3fd8835550701a7cbfcced54e1515ac58cf14702))
11
11
 
12
+ ### [1.0.30](https://github.com/visitscotland/vs-component-library/compare/v1.0.29...v1.0.30) (2023-09-14)
13
+
14
+
15
+ ### ✨ Features
16
+
17
+ * **carbon calculator:** pull in urls from labels ([e44c5ac](https://github.com/visitscotland/vs-component-library/commit/e44c5acd9a9b548226f5243a7de878eadb0e66ea))
18
+
12
19
  ### [1.0.29](https://github.com/visitscotland/vs-component-library/compare/v1.0.28...v1.0.29) (2023-09-14)
13
20
 
14
21
 
@@ -2075,7 +2075,7 @@
2075
2075
  "scripts/313accd92193690c2723.js",
2076
2076
  "scripts/bc300fe5544e5516fe81.js",
2077
2077
  "scripts/424b284aa6ae959d58e4.js",
2078
- "scripts/6db8066521b8d7b772f6.js"
2078
+ "scripts/4aeb899afbe614801a05.js"
2079
2079
  ],
2080
2080
  "styles": [
2081
2081
  "styles/60110d6613321f400ec1.css",
@@ -2090,7 +2090,7 @@
2090
2090
  "styles/edb2723e3707257fa46f.css",
2091
2091
  "styles/313accd92193690c2723.css",
2092
2092
  "styles/bc300fe5544e5516fe81.css",
2093
- "styles/6db8066521b8d7b772f6.css"
2093
+ "styles/4aeb899afbe614801a05.css"
2094
2094
  ]
2095
2095
  },
2096
2096
  "VsCarbonCalculatorIntro": {
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.VsCarbonCalculator=e():t.VsCarbonCalculator=e()}(self,(function(){return(self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[3612],{80120:function(){},39865:function(t,e,i){"use strict";var a=i(5274),n=i(81779),o=i(60976),s=i(22048),r=i(83918),l=i(42503),u=i(8031),c=i(3671),f=i(52851),m=i(1041),d=i(51439);e.Z={name:"VsCarbonCalculator",status:"prototype",release:"0.0.1",components:{VsButton:r.default,VsContainer:n.xB,VsCol:n.hY,VsRow:n.ou,VsWarning:s.default,VsProgressBar:l.default,VsCarbonCalculatorResults:c.default,VsCarbonCalculatorTip:u.default,VsCarbonCalculatorRunningTotal:f.default,VsCarbonCalculatorIntro:m.default,VsCarbonCalculatorQuestion:d.default},mixins:[o.Z],provide:function(){return{labelsMap:this.labelsMap}},props:{labelsMap:{type:Object,required:!0}},data:function(){return this.initialState()},computed:{currentQuestion:function(){return this.formData&&this.activeQuestion?this.formData.fields[this.activeQuestion-1]:null},currentTip:function(){var t=null;if(this.formData.fields[this.activeQuestion-1])switch(this.formData.fields[this.activeQuestion-1].stage){case 1:t=this.transportTip;break;case 2:t=this.accommodationTip;break;case 3:t=this.foodTip;break;default:t=null}return t},stayDuration:function(){return this.form.howLongStay?parseInt(this.form.howLongStay,10):0}},created:function(){this.getFormData(),this.getGlobalMessaging()},methods:{initialState:function(){return{formData:{},messagingData:{},form:{},formIsInvalid:!1,showErrorMessage:!1,errorFields:[],triggerValidate:!1,conditionalFields:{},reAlertErrors:!1,totalKilos:0,transportKilos:0,accommodationKilos:0,foodKilos:0,transportTip:null,foodTip:null,accommodationTip:null,activeQuestion:0,answerSet:!1}},restart:function(){var t=this.formData;Object.assign(this.$data,this.initialState()),this.$data.formData=t},getFormData:function(){var t=this;a.Z.get(this.labelsMap.formUrl).then((function(e){t.formData=e.data,e.data.fields.forEach((function(e){t.form[e.name]="",e.conditional&&(t.conditionalFields[e.name]=!1)}))}))},getGlobalMessaging:function(){var t=this;a.Z.get(this.messagingUrl).then((function(e){t.messagingData=e.data}))},getMessagingData:function(t,e){return Object.keys(this.messagingData).length>0?this.messagingData[e][t]:"validation"===t?{}:""},getQuestionCategory:function(t){return this.labelsMap["section-".concat(t,".title")]?this.labelsMap["section-".concat(t,".title")]:""},getQuestionLabel:function(t){return this.labelsMap["page-".concat(t+1,".question")]?this.labelsMap["page-".concat(t+1,".question")]:""},getQuestionHint:function(t){return this.labelsMap["page-".concat(t+1,".hint")]?this.labelsMap["page-".concat(t+1,".hint")]:""},getQuestionOptions:function(t){var e=this.formData.fields[t];if("radio"===e.element){for(var i=e.options,a=0;a<i.length;a++)i[a].text=this.labelsMap["page-".concat(t+1,".option-").concat(a+1)];return i}return[]},updateFieldData:function(t){this.form[t.field]=t.value||"",t.value?this.answerSet=!0:this.answerSet=!1,this.manageErrorStatus(t.field,t.errors),this.checkConditionalFields(),this.calculateEmissions(),this.retrieveTips()},manageErrorStatus:function(t,e){var i=this.errorFields.indexOf(t);-1!==i?(!e||e.length<1)&&this.errorFields.splice(i,1):e&&e.length>0&&this.errorFields.push(t)},getRadioValue:function(t,e){if(!e)return 0;for(var i,a=0;a<this.formData.fields.length;a++)this.formData.fields[a].name===t&&(i=this.formData.fields[a]);var n=i.values[e];if(i.multiplyByNumber)return n*i.multiplyByNumber;if(i.multiplyByAnswer){var o=this.form[i.multiplyByAnswer.question]||0;return n*Math.max(o,i.multiplyByAnswer.minimum)}return n},getNumberValue:function(t,e){if(!e)return 0;for(var i,a=0;a<this.formData.fields.length;a++)this.formData.fields[a].name===t&&(i=this.formData.fields[a]);if(i.multiplyByNumber)return parseInt(e,10)*i.multiplyByNumber;if(i.multiplyByAnswer){var n=this.form[i.multiplyByAnswer]||0;return parseInt(e,10)*n}return 0},getFieldValue:function(t){return"radio"===t.element?this.getRadioValue(t.name,this.form[t.name]):"number"===t.element?this.getNumberValue(t.name,this.form[t.name]):0},getTips:function(t,e,i){if(e&&t.options)for(var a=0;a<t.options.length;a++)if(t.options[a].value===e){var n=this.labelsMap["page-".concat(i+1,".option-").concat(a+1,".tip")];if(n)return[{text:n}]}return[]},calculateEmissions:function(){this.transportKilos=0,this.transportTip=null,this.accommodationKilos=0,this.accommodationTips=null,this.foodKilos=0,this.foodTip=null;for(var t=0;t<this.formData.fields.length;t++){var e=this.formData.fields[t];switch(e.stage){case 1:case 2:this.transportKilos+=this.getFieldValue(e);break;case 3:this.accommodationKilos+=this.getFieldValue(e);break;case 4:this.foodKilos+=this.getFieldValue(e)}}this.totalKilos=this.transportKilos+this.accommodationKilos+this.foodKilos},retrieveTips:function(){for(var t=[],e=[],i=[],a=0;a<this.formData.fields.length;a++){var n=this.formData.fields[a];switch(n.stage){case 1:case 2:t=t.concat(this.getTips(n,this.form[n.name],a));break;case 3:e=e.concat(this.getTips(n,this.form[n.name],a));break;case 4:i=i.concat(this.getTips(n,this.form[n.name],a))}}this.transportTip=t[Math.floor(Math.random()*t.length)],this.accommodationTip=e[Math.floor(Math.random()*e.length)],this.foodTip=i[Math.floor(Math.random()*i.length)]},checkConditionalFields:function(){var t=this;Object.keys(this.conditionalFields).forEach((function(e){var i=t.formData.fields.find((function(t){return t.name===e})),a=!0;Object.keys(i.conditional).forEach((function(n){var o=i.conditional[n];Array.isArray(o)?-1===o.indexOf(t.form[n])&&(a=!1):t.form[n]!==o&&(a=!1),a?t.conditionalFields[e]=!0:(t.conditionalFields[e]=!1,t.manageErrorStatus(e,[]))}))}))},forwardPage:function(t){t&&t.preventDefault(),this.activeQuestion&&this.createDataLayerObject("carbonQuestionEvent",{questionNumber:this.activeQuestion,answer:this.form[this.currentQuestion.name]}),this.activeQuestion+=1,this.checkCurrentConditional(!0),this.checkNewAnswerSet(),this.resetFocus()},backwardPage:function(t){t&&t.preventDefault(),this.activeQuestion-=1,this.checkCurrentConditional(!1),this.checkNewAnswerSet(),this.resetFocus()},checkNewAnswerSet:function(){if(this.activeQuestion>this.formData.fields.length)this.answerSet=!0;else{var t=this.formData.fields[this.activeQuestion-1];this.form[t.name]?this.answerSet=!0:"number"===t.element?(this.form[t.name]=t.validation.min,this.answerSet=!0):this.answerSet=!1}},checkCurrentConditional:function(t){var e=this.formData.fields[this.activeQuestion-1];e&&this.conditionalElementClass(e.name)&&(t?this.forwardPage():this.backwardPage())},conditionalElementClass:function(t){return!0===this.conditionalFields[t]||void 0===this.conditionalFields[t]?"":"d-none"},resetFocus:function(){var t=this;this.$nextTick((function(){t.$nextTick((function(){t.$refs.questions[t.activeQuestion-1].$el.focus()}))}))}}}},47592:function(t,e,i){"use strict";i.d(e,{s:function(){return l}});var a=i(66252),n=i(49963),o=i(3577),s={class:"vs-carbon-calculator__wrapper"},r={key:1};function l(t,e,i,l,u,c){var f=(0,a.up)("VsCarbonCalculatorIntro"),m=(0,a.up)("VsProgressBar"),d=(0,a.up)("VsCarbonCalculatorQuestion"),h=(0,a.up)("VsCarbonCalculatorTip"),p=(0,a.up)("VsCol"),g=(0,a.up)("VsCarbonCalculatorRunningTotal"),v=(0,a.up)("VsCarbonCalculatorResults"),b=(0,a.up)("VsButton"),y=(0,a.up)("VsRow"),k=(0,a.up)("VsContainer"),w=(0,a.up)("VsWarning");return(0,a.wg)(),(0,a.iD)("div",s,[(0,a.Wm)(k,{class:"vs-carbon-calculator","data-test":"vs-carbon-calculator"},{default:(0,a.w5)((function(){return[t.formData&&t.formData.fields?((0,a.wg)(),(0,a.j4)(y,{key:0,class:"vs-carbon-calculator__survey"},{default:(0,a.w5)((function(){return[(0,a.Wm)(p,null,{default:(0,a.w5)((function(){return[t.activeQuestion?(0,a.kq)("",!0):((0,a.wg)(),(0,a.j4)(f,{key:0})),t.activeQuestion?((0,a.wg)(),(0,a.iD)("form",r,[(0,a._)("fieldset",null,[(0,a.Wm)(m,{max:t.formData.stages,currentStep:c.currentQuestion?c.currentQuestion.stage:t.formData.stages,isStepped:!0,isFull:t.activeQuestion>t.formData.fields.length},null,8,["max","currentStep","isFull"]),(0,a.wy)((0,a._)("div",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(t.formData.fields,(function(e,i){return(0,a.wy)(((0,a.wg)(),(0,a.j4)(d,{ref_for:!0,ref:"questions",tabindex:"0",key:e.name,label:c.getQuestionLabel(i),"label-for":e.name,hint:c.getQuestionHint(i),fieldClass:c.conditionalElementClass(e.name),fieldType:e.element,fieldName:e.name,options:c.getQuestionOptions(i),minimum:"number"===e.element?e.validation.min:0,maximum:"number"===e.element?e.validation.max:0,fieldCategory:c.getQuestionCategory(e.stage),onUpdateFieldData:c.updateFieldData},null,8,["label","label-for","hint","fieldClass","fieldType","fieldName","options","minimum","maximum","fieldCategory","onUpdateFieldData"])),[[n.vShow,i+1===t.activeQuestion]])})),128))],512),[[n.vShow,t.activeQuestion<=t.formData.fields.length]])])])):(0,a.kq)("",!0),c.currentTip?((0,a.wg)(),(0,a.j4)(h,{key:2,tip:c.currentTip.text},null,8,["tip"])):(0,a.kq)("",!0)]})),_:1}),(0,a.Wm)(p,{cols:"12"},{default:(0,a.w5)((function(){return[t.activeQuestion>0&&t.activeQuestion<=t.formData.fields.length?((0,a.wg)(),(0,a.j4)(g,{key:0,"total-kilos":t.totalKilos},null,8,["total-kilos"])):(0,a.kq)("",!0),t.activeQuestion>t.formData.fields.length?((0,a.wg)(),(0,a.j4)(v,{key:1,"total-kilos":t.totalKilos,"transport-kilos":t.transportKilos,"food-kilos":t.foodKilos,"accommodation-kilos":t.accommodationKilos,"transport-tip":t.transportTip,"food-tip":t.foodTip,"accommodation-tip":t.accommodationTip,"stay-duration":c.stayDuration,comparisonReplacements:t.formData.comparisonReplacements},null,8,["total-kilos","transport-kilos","food-kilos","accommodation-kilos","transport-tip","food-tip","accommodation-tip","stay-duration","comparisonReplacements"])):(0,a.kq)("",!0)]})),_:1}),0===t.activeQuestion?((0,a.wg)(),(0,a.j4)(p,{key:0,class:"text-center",cols:"12"},{default:(0,a.w5)((function(){return[(0,a.Wm)(b,{variant:"primary",type:"submit",class:"vs-form__submit mt-9",onClick:e[0]||(e[0]=function(t){return c.forwardPage()})},{default:(0,a.w5)((function(){return[(0,a.Uk)((0,o.toDisplayString)(i.labelsMap.begin),1)]})),_:1})]})),_:1})):(0,a.kq)("",!0),t.activeQuestion>0?((0,a.wg)(),(0,a.j4)(p,{key:1,cols:"12"},{default:(0,a.w5)((function(){return[t.activeQuestion>1?((0,a.wg)(),(0,a.j4)(b,{key:0,variant:t.activeQuestion<=t.formData.fields.length?"primary":"secondary",type:"submit",class:"vs-form__submit mt-9 float-left",ref:"backPage",onClick:e[1]||(e[1]=function(t){return c.backwardPage()})},{default:(0,a.w5)((function(){return[(0,a.Uk)((0,o.toDisplayString)(i.labelsMap.previous),1)]})),_:1},8,["variant"])):(0,a.kq)("",!0),t.activeQuestion<t.formData.fields.length?((0,a.wg)(),(0,a.j4)(b,{key:1,variant:"primary",type:"submit",class:"vs-form__submit mt-9 float-right",ref:"forwardPage",disabled:t.activeQuestion>0&&!t.answerSet,onClick:e[2]||(e[2]=function(t){return c.forwardPage()})},{default:(0,a.w5)((function(){return[(0,a.Uk)((0,o.toDisplayString)(i.labelsMap.next),1)]})),_:1},8,["disabled"])):(0,a.kq)("",!0),t.activeQuestion===t.formData.fields.length?((0,a.wg)(),(0,a.j4)(b,{key:2,variant:"primary",type:"submit",class:"vs-form__submit mt-9 float-right",disabled:!t.answerSet,onClick:e[3]||(e[3]=function(t){return c.forwardPage()})},{default:(0,a.w5)((function(){return[(0,a.Uk)((0,o.toDisplayString)(i.labelsMap.results),1)]})),_:1},8,["disabled"])):(0,a.kq)("",!0),t.activeQuestion>t.formData.fields.length?((0,a.wg)(),(0,a.j4)(b,{key:3,variant:"primary",type:"submit",class:"vs-form__submit mt-9 float-right",onClick:e[4]||(e[4]=function(t){return c.restart()})},{default:(0,a.w5)((function(){return[(0,a.Uk)((0,o.toDisplayString)(i.labelsMap.restart),1)]})),_:1})):(0,a.kq)("",!0)]})),_:1})):(0,a.kq)("",!0)]})),_:1})):(0,a.kq)("",!0)]})),_:1}),(0,a.Wm)(w,{theme:"light"},{default:(0,a.w5)((function(){return[(0,a.Uk)((0,o.toDisplayString)(i.labelsMap.noJsMessage),1)]})),_:1})])}},37738:function(t,e,i){"use strict";var a=i(93379),n=i.n(a),o=i(7795),s=i.n(o),r=i(90569),l=i.n(r),u=i(3565),c=i.n(u),f=i(19216),m=i.n(f),d=i(44589),h=i.n(d),p=i(80120),g=i.n(p),v={};v.styleTagTransform=h(),v.setAttributes=c(),v.insert=l().bind(null,"head"),v.domAPI=s(),v.insertStyleElement=m(),n()(g(),v),g()&&g().locals&&g().locals},92127:function(t,e,i){"use strict";i.r(e);var a=i(28110),n=i(48737);i(15299);const o=(0,i(83744).Z)(n.Z,[["render",a.s]]);e.default=o},48737:function(t,e,i){"use strict";i.d(e,{Z:function(){return a.Z}});var a=i(39865)},28110:function(t,e,i){"use strict";i.d(e,{s:function(){return a.s}});var a=i(47592)},15299:function(t,e,i){"use strict";i(37738)}},function(t){return t.O(0,[6252,3744,7991,9963,6486,2854,4942,6765,7169,7476,3324,8764,8362,5274,2093,7370,5730,976,3918,7581,4186,1321,1779,3366,2048,479,5754,4778,8031,3671,1439,2503,2851,1041],(function(){return 92127,t(t.s=92127)})),t.O()}])}));
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.VsCarbonCalculator=e():t.VsCarbonCalculator=e()}(self,(function(){return(self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[3612],{82378:function(){},39865:function(t,e,i){"use strict";var a=i(5274),n=i(81779),o=i(60976),s=i(22048),r=i(83918),l=i(42503),u=i(8031),c=i(3671),f=i(52851),m=i(1041),d=i(51439);e.Z={name:"VsCarbonCalculator",status:"prototype",release:"0.0.1",components:{VsButton:r.default,VsContainer:n.xB,VsCol:n.hY,VsRow:n.ou,VsWarning:s.default,VsProgressBar:l.default,VsCarbonCalculatorResults:c.default,VsCarbonCalculatorTip:u.default,VsCarbonCalculatorRunningTotal:f.default,VsCarbonCalculatorIntro:m.default,VsCarbonCalculatorQuestion:d.default},mixins:[o.Z],provide:function(){return{labelsMap:this.labelsMap}},props:{labelsMap:{type:Object,required:!0}},data:function(){return this.initialState()},computed:{currentQuestion:function(){return this.formData&&this.activeQuestion?this.formData.fields[this.activeQuestion-1]:null},currentTip:function(){var t=null;if(this.formData.fields[this.activeQuestion-1])switch(this.formData.fields[this.activeQuestion-1].stage){case 1:t=this.transportTip;break;case 2:t=this.accommodationTip;break;case 3:t=this.foodTip;break;default:t=null}return t},stayDuration:function(){return this.form.howLongStay?parseInt(this.form.howLongStay,10):0}},mounted:function(){this.getFormData(),this.getGlobalMessaging()},methods:{initialState:function(){return{formData:{},messagingData:{},form:{},formIsInvalid:!1,showErrorMessage:!1,errorFields:[],triggerValidate:!1,conditionalFields:{},reAlertErrors:!1,totalKilos:0,transportKilos:0,accommodationKilos:0,foodKilos:0,transportTip:null,foodTip:null,accommodationTip:null,activeQuestion:0,answerSet:!1}},restart:function(){var t=this.formData;Object.assign(this.$data,this.initialState()),this.$data.formData=t},getFormData:function(){var t=this;a.Z.get(this.labelsMap.formUrl).then((function(e){t.formData=e.data,e.data.fields.forEach((function(e){t.form[e.name]="",e.conditional&&(t.conditionalFields[e.name]=!1)}))}))},getGlobalMessaging:function(){var t=this;a.Z.get(this.messagingUrl).then((function(e){t.messagingData=e.data}))},getMessagingData:function(t,e){return Object.keys(this.messagingData).length>0?this.messagingData[e][t]:"validation"===t?{}:""},getQuestionCategory:function(t){return this.labelsMap["section-".concat(t,".title")]?this.labelsMap["section-".concat(t,".title")]:""},getQuestionLabel:function(t){return this.labelsMap["page-".concat(t+1,".question")]?this.labelsMap["page-".concat(t+1,".question")]:""},getQuestionHint:function(t){return this.labelsMap["page-".concat(t+1,".hint")]?this.labelsMap["page-".concat(t+1,".hint")]:""},getQuestionOptions:function(t){var e=this.formData.fields[t];if("radio"===e.element){for(var i=e.options,a=0;a<i.length;a++)i[a].text=this.labelsMap["page-".concat(t+1,".option-").concat(a+1)];return i}return[]},updateFieldData:function(t){this.form[t.field]=t.value||"",t.value?this.answerSet=!0:this.answerSet=!1,this.manageErrorStatus(t.field,t.errors),this.checkConditionalFields(),this.calculateEmissions(),this.retrieveTips()},manageErrorStatus:function(t,e){var i=this.errorFields.indexOf(t);-1!==i?(!e||e.length<1)&&this.errorFields.splice(i,1):e&&e.length>0&&this.errorFields.push(t)},getRadioValue:function(t,e){if(!e)return 0;for(var i,a=0;a<this.formData.fields.length;a++)this.formData.fields[a].name===t&&(i=this.formData.fields[a]);var n=i.values[e];if(i.multiplyByNumber)return n*i.multiplyByNumber;if(i.multiplyByAnswer){var o=this.form[i.multiplyByAnswer.question]||0;return n*Math.max(o,i.multiplyByAnswer.minimum)}return n},getNumberValue:function(t,e){if(!e)return 0;for(var i,a=0;a<this.formData.fields.length;a++)this.formData.fields[a].name===t&&(i=this.formData.fields[a]);if(i.multiplyByNumber)return parseInt(e,10)*i.multiplyByNumber;if(i.multiplyByAnswer){var n=this.form[i.multiplyByAnswer]||0;return parseInt(e,10)*n}return 0},getFieldValue:function(t){return"radio"===t.element?this.getRadioValue(t.name,this.form[t.name]):"number"===t.element?this.getNumberValue(t.name,this.form[t.name]):0},getTips:function(t,e,i){if(e&&t.options)for(var a=0;a<t.options.length;a++)if(t.options[a].value===e){var n=this.labelsMap["page-".concat(i+1,".option-").concat(a+1,".tip")];if(n)return[{text:n}]}return[]},calculateEmissions:function(){this.transportKilos=0,this.transportTip=null,this.accommodationKilos=0,this.accommodationTips=null,this.foodKilos=0,this.foodTip=null;for(var t=0;t<this.formData.fields.length;t++){var e=this.formData.fields[t];switch(e.stage){case 1:case 2:this.transportKilos+=this.getFieldValue(e);break;case 3:this.accommodationKilos+=this.getFieldValue(e);break;case 4:this.foodKilos+=this.getFieldValue(e)}}this.totalKilos=this.transportKilos+this.accommodationKilos+this.foodKilos},retrieveTips:function(){for(var t=[],e=[],i=[],a=0;a<this.formData.fields.length;a++){var n=this.formData.fields[a];switch(n.stage){case 1:case 2:t=t.concat(this.getTips(n,this.form[n.name],a));break;case 3:e=e.concat(this.getTips(n,this.form[n.name],a));break;case 4:i=i.concat(this.getTips(n,this.form[n.name],a))}}this.transportTip=t[Math.floor(Math.random()*t.length)],this.accommodationTip=e[Math.floor(Math.random()*e.length)],this.foodTip=i[Math.floor(Math.random()*i.length)]},checkConditionalFields:function(){var t=this;Object.keys(this.conditionalFields).forEach((function(e){var i=t.formData.fields.find((function(t){return t.name===e})),a=!0;Object.keys(i.conditional).forEach((function(n){var o=i.conditional[n];Array.isArray(o)?-1===o.indexOf(t.form[n])&&(a=!1):t.form[n]!==o&&(a=!1),a?t.conditionalFields[e]=!0:(t.conditionalFields[e]=!1,t.manageErrorStatus(e,[]))}))}))},forwardPage:function(t){t&&t.preventDefault(),this.activeQuestion&&this.createDataLayerObject("carbonQuestionEvent",{questionNumber:this.activeQuestion,answer:this.form[this.currentQuestion.name]}),this.activeQuestion+=1,this.checkCurrentConditional(!0),this.checkNewAnswerSet(),this.resetFocus()},backwardPage:function(t){t&&t.preventDefault(),this.activeQuestion-=1,this.checkCurrentConditional(!1),this.checkNewAnswerSet(),this.resetFocus()},checkNewAnswerSet:function(){if(this.activeQuestion>this.formData.fields.length)this.answerSet=!0;else{var t=this.formData.fields[this.activeQuestion-1];this.form[t.name]?this.answerSet=!0:"number"===t.element?(this.form[t.name]=t.validation.min,this.answerSet=!0):this.answerSet=!1}},checkCurrentConditional:function(t){var e=this.formData.fields[this.activeQuestion-1];e&&this.conditionalElementClass(e.name)&&(t?this.forwardPage():this.backwardPage())},conditionalElementClass:function(t){return!0===this.conditionalFields[t]||void 0===this.conditionalFields[t]?"":"d-none"},resetFocus:function(){var t=this;this.$nextTick((function(){t.$nextTick((function(){t.$refs.questions[t.activeQuestion-1].$el.focus()}))}))}}}},78422:function(t,e,i){"use strict";i.d(e,{s:function(){return l}});var a=i(66252),n=i(49963),o=i(3577),s={class:"vs-carbon-calculator__wrapper"},r={key:1};function l(t,e,i,l,u,c){var f=(0,a.up)("VsCarbonCalculatorIntro"),m=(0,a.up)("VsProgressBar"),d=(0,a.up)("VsCarbonCalculatorQuestion"),h=(0,a.up)("VsCarbonCalculatorTip"),p=(0,a.up)("VsCol"),g=(0,a.up)("VsCarbonCalculatorRunningTotal"),v=(0,a.up)("VsCarbonCalculatorResults"),b=(0,a.up)("VsButton"),y=(0,a.up)("VsRow"),k=(0,a.up)("VsContainer"),w=(0,a.up)("VsWarning");return(0,a.wg)(),(0,a.iD)("div",s,[(0,a.Wm)(k,{class:"vs-carbon-calculator","data-test":"vs-carbon-calculator"},{default:(0,a.w5)((function(){return[t.formData&&t.formData.fields?((0,a.wg)(),(0,a.j4)(y,{key:0,class:"vs-carbon-calculator__survey"},{default:(0,a.w5)((function(){return[(0,a.Wm)(p,null,{default:(0,a.w5)((function(){return[t.activeQuestion?(0,a.kq)("",!0):((0,a.wg)(),(0,a.j4)(f,{key:0})),t.activeQuestion?((0,a.wg)(),(0,a.iD)("form",r,[(0,a._)("fieldset",null,[(0,a.Wm)(m,{max:t.formData.stages,currentStep:c.currentQuestion?c.currentQuestion.stage:t.formData.stages,isStepped:!0,isFull:t.activeQuestion>t.formData.fields.length},null,8,["max","currentStep","isFull"]),(0,a.wy)((0,a._)("div",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(t.formData.fields,(function(e,i){return(0,a.wy)(((0,a.wg)(),(0,a.j4)(d,{ref_for:!0,ref:"questions",tabindex:"0",key:e.name,label:c.getQuestionLabel(i),"label-for":e.name,hint:c.getQuestionHint(i),fieldClass:c.conditionalElementClass(e.name),fieldType:e.element,fieldName:e.name,options:c.getQuestionOptions(i),minimum:"number"===e.element?e.validation.min:0,maximum:"number"===e.element?e.validation.max:0,fieldCategory:c.getQuestionCategory(e.stage),onUpdateFieldData:c.updateFieldData},null,8,["label","label-for","hint","fieldClass","fieldType","fieldName","options","minimum","maximum","fieldCategory","onUpdateFieldData"])),[[n.vShow,i+1===t.activeQuestion]])})),128))],512),[[n.vShow,t.activeQuestion<=t.formData.fields.length]])])])):(0,a.kq)("",!0),c.currentTip?((0,a.wg)(),(0,a.j4)(h,{key:2,tip:c.currentTip.text},null,8,["tip"])):(0,a.kq)("",!0)]})),_:1}),(0,a.Wm)(p,{cols:"12"},{default:(0,a.w5)((function(){return[t.activeQuestion>0&&t.activeQuestion<=t.formData.fields.length?((0,a.wg)(),(0,a.j4)(g,{key:0,"total-kilos":t.totalKilos},null,8,["total-kilos"])):(0,a.kq)("",!0),t.activeQuestion>t.formData.fields.length?((0,a.wg)(),(0,a.j4)(v,{key:1,"total-kilos":t.totalKilos,"transport-kilos":t.transportKilos,"food-kilos":t.foodKilos,"accommodation-kilos":t.accommodationKilos,"transport-tip":t.transportTip,"food-tip":t.foodTip,"accommodation-tip":t.accommodationTip,"stay-duration":c.stayDuration,comparisonReplacements:t.formData.comparisonReplacements},null,8,["total-kilos","transport-kilos","food-kilos","accommodation-kilos","transport-tip","food-tip","accommodation-tip","stay-duration","comparisonReplacements"])):(0,a.kq)("",!0)]})),_:1}),0===t.activeQuestion?((0,a.wg)(),(0,a.j4)(p,{key:0,class:"text-center",cols:"12"},{default:(0,a.w5)((function(){return[(0,a.Wm)(b,{variant:"primary",type:"submit",class:"vs-form__submit mt-9",onClick:e[0]||(e[0]=function(t){return c.forwardPage()})},{default:(0,a.w5)((function(){return[(0,a.Uk)((0,o.toDisplayString)(i.labelsMap.begin),1)]})),_:1})]})),_:1})):(0,a.kq)("",!0),t.activeQuestion>0?((0,a.wg)(),(0,a.j4)(p,{key:1,cols:"12"},{default:(0,a.w5)((function(){return[t.activeQuestion>1?((0,a.wg)(),(0,a.j4)(b,{key:0,variant:t.activeQuestion<=t.formData.fields.length?"primary":"secondary",type:"submit",class:"vs-form__submit mt-9 float-left",ref:"backPage",onClick:e[1]||(e[1]=function(t){return c.backwardPage()})},{default:(0,a.w5)((function(){return[(0,a.Uk)((0,o.toDisplayString)(i.labelsMap.previous),1)]})),_:1},8,["variant"])):(0,a.kq)("",!0),t.activeQuestion<t.formData.fields.length?((0,a.wg)(),(0,a.j4)(b,{key:1,variant:"primary",type:"submit",class:"vs-form__submit mt-9 float-right",ref:"forwardPage",disabled:t.activeQuestion>0&&!t.answerSet,onClick:e[2]||(e[2]=function(t){return c.forwardPage()})},{default:(0,a.w5)((function(){return[(0,a.Uk)((0,o.toDisplayString)(i.labelsMap.next),1)]})),_:1},8,["disabled"])):(0,a.kq)("",!0),t.activeQuestion===t.formData.fields.length?((0,a.wg)(),(0,a.j4)(b,{key:2,variant:"primary",type:"submit",class:"vs-form__submit mt-9 float-right",disabled:!t.answerSet,onClick:e[3]||(e[3]=function(t){return c.forwardPage()})},{default:(0,a.w5)((function(){return[(0,a.Uk)((0,o.toDisplayString)(i.labelsMap.results),1)]})),_:1},8,["disabled"])):(0,a.kq)("",!0),t.activeQuestion>t.formData.fields.length?((0,a.wg)(),(0,a.j4)(b,{key:3,variant:"primary",type:"submit",class:"vs-form__submit mt-9 float-right",onClick:e[4]||(e[4]=function(t){return c.restart()})},{default:(0,a.w5)((function(){return[(0,a.Uk)((0,o.toDisplayString)(i.labelsMap.restart),1)]})),_:1})):(0,a.kq)("",!0)]})),_:1})):(0,a.kq)("",!0)]})),_:1})):(0,a.kq)("",!0)]})),_:1}),(0,a.Wm)(w,{theme:"light"},{default:(0,a.w5)((function(){return[(0,a.Uk)((0,o.toDisplayString)(i.labelsMap.noJsMessage),1)]})),_:1})])}},98455:function(t,e,i){"use strict";var a=i(93379),n=i.n(a),o=i(7795),s=i.n(o),r=i(90569),l=i.n(r),u=i(3565),c=i.n(u),f=i(19216),m=i.n(f),d=i(44589),h=i.n(d),p=i(82378),g=i.n(p),v={};v.styleTagTransform=h(),v.setAttributes=c(),v.insert=l().bind(null,"head"),v.domAPI=s(),v.insertStyleElement=m(),n()(g(),v),g()&&g().locals&&g().locals},92127:function(t,e,i){"use strict";i.r(e);var a=i(87910),n=i(48737);i(21962);const o=(0,i(83744).Z)(n.Z,[["render",a.s]]);e.default=o},48737:function(t,e,i){"use strict";i.d(e,{Z:function(){return a.Z}});var a=i(39865)},87910:function(t,e,i){"use strict";i.d(e,{s:function(){return a.s}});var a=i(78422)},21962:function(t,e,i){"use strict";i(98455)}},function(t){return t.O(0,[6252,3744,7991,9963,6486,2854,4942,6765,7169,7476,3324,8764,8362,5274,2093,7370,5730,976,3918,7581,4186,1321,1779,3366,2048,479,5754,4778,8031,3671,1439,2503,2851,1041],(function(){return 92127,t(t.s=92127)})),t.O()}])}));