{"version":3,"file":"js/app.c18097d2.js","mappings":"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","sources":["webpack://energy-subscription-front/./src/components/layout/MainContent.vue","webpack://energy-subscription-front/src/components/layout/MainContent.vue","webpack://energy-subscription-front/./src/components/layout/MainContent.vue?cd39","webpack://energy-subscription-front/./src/components/layout/MainContent.vue?b02e","webpack://energy-subscription-front/./src/components/layout/MainHeader.vue","webpack://energy-subscription-front/src/components/layout/MainHeader.vue","webpack://energy-subscription-front/./src/components/layout/MainHeader.vue?ca0f","webpack://energy-subscription-front/./src/components/layout/MainHeader.vue?19c2","webpack://energy-subscription-front/./src/components/layout/MainLayout.vue","webpack://energy-subscription-front/./src/components/layout/MainSidebar.vue","webpack://energy-subscription-front/./src/views/layout/formSubscriptionLayout/mylightLogo.vue","webpack://energy-subscription-front/src/views/layout/formSubscriptionLayout/mylightLogo.vue","webpack://energy-subscription-front/./src/views/layout/formSubscriptionLayout/mylightLogo.vue?dd54","webpack://energy-subscription-front/./src/views/layout/formSubscriptionLayout/mylightLogo.vue?e02a","webpack://energy-subscription-front/./src/views/layout/formSubscriptionLayout/domuneoLogo.vue","webpack://energy-subscription-front/src/views/layout/formSubscriptionLayout/domuneoLogo.vue","webpack://energy-subscription-front/./src/views/layout/formSubscriptionLayout/domuneoLogo.vue?09df","webpack://energy-subscription-front/./src/views/layout/formSubscriptionLayout/domuneoLogo.vue?2162","webpack://energy-subscription-front/src/components/layout/MainSidebar.vue","webpack://energy-subscription-front/./src/components/layout/MainSidebar.vue?0e50","webpack://energy-subscription-front/./src/components/layout/MainSidebar.vue?e207","webpack://energy-subscription-front/./src/components/layout/MobileStepHeader.vue","webpack://energy-subscription-front/src/components/layout/MobileStepHeader.vue","webpack://energy-subscription-front/./src/components/layout/MobileStepHeader.vue?328d","webpack://energy-subscription-front/./src/components/layout/MobileStepHeader.vue?af01","webpack://energy-subscription-front/src/components/layout/MainLayout.vue","webpack://energy-subscription-front/./src/components/layout/MainLayout.vue?a184","webpack://energy-subscription-front/./src/components/layout/MainLayout.vue?efc4","webpack://energy-subscription-front/./src/views/layout/formSubscriptionLayout/SubscriptionStepsNavigation.vue","webpack://energy-subscription-front/src/views/layout/formSubscriptionLayout/SubscriptionStepsNavigation.vue","webpack://energy-subscription-front/./src/views/layout/formSubscriptionLayout/SubscriptionStepsNavigation.vue?1b44","webpack://energy-subscription-front/./src/views/layout/formSubscriptionLayout/SubscriptionStepsNavigation.vue?38cd","webpack://energy-subscription-front/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://energy-subscription-front/./src/i18n.ts","webpack://energy-subscription-front/./src/App.vue","webpack://energy-subscription-front/./src/store/subscription/gridOperator/constants.ts","webpack://energy-subscription-front/src/App.vue","webpack://energy-subscription-front/./src/App.vue?51dd","webpack://energy-subscription-front/./src/App.vue?0e40","webpack://energy-subscription-front/./src/registerServiceWorker.ts","webpack://energy-subscription-front/./src/views/layout/formSubscriptionLayout/formSubscriptionLayoutPage.vue","webpack://energy-subscription-front/src/views/layout/formSubscriptionLayout/formSubscriptionLayoutPage.vue","webpack://energy-subscription-front/./src/views/layout/formSubscriptionLayout/formSubscriptionLayoutPage.vue?06cb","webpack://energy-subscription-front/./src/views/layout/formSubscriptionLayout/formSubscriptionLayoutPage.vue?be5e","webpack://energy-subscription-front/./src/store/navigation/index.ts","webpack://energy-subscription-front/./src/store/notification/type.ts","webpack://energy-subscription-front/./src/store/notification/index.ts","webpack://energy-subscription-front/./src/store/subscription/contactInformation/index.ts","webpack://energy-subscription-front/./src/api/index.ts","webpack://energy-subscription-front/./src/api/gsrnEanValidation/index.ts","webpack://energy-subscription-front/./src/store/subscription/housing/index.ts","webpack://energy-subscription-front/./src/store/subscription/offer/type.ts","webpack://energy-subscription-front/./src/store/subscription/offer/constant.ts","webpack://energy-subscription-front/./src/api/batteryPlan/index.ts","webpack://energy-subscription-front/./src/store/subscription/offer/index.ts","webpack://energy-subscription-front/./src/store/subscription/billing/type.ts","webpack://energy-subscription-front/./src/store/subscription/billing/constant.ts","webpack://energy-subscription-front/./src/store/subscription/billing/index.ts","webpack://energy-subscription-front/./src/store/subscription/bankDetails/helpers.ts","webpack://energy-subscription-front/./src/store/subscription/bankDetails/index.ts","webpack://energy-subscription-front/./src/api/contractSigning/index.ts","webpack://energy-subscription-front/./src/store/notification/helper.ts","webpack://energy-subscription-front/./src/store/subscription/contractSigning/constant.ts","webpack://energy-subscription-front/./src/store/subscription/contractSigning/index.ts","webpack://energy-subscription-front/./src/api/contractActivation/index.ts","webpack://energy-subscription-front/./src/store/subscription/contractActivation/type.ts","webpack://energy-subscription-front/./src/store/subscription/contractActivation/helper.ts","webpack://energy-subscription-front/./src/store/subscription/contractActivation/index.ts","webpack://energy-subscription-front/./src/store/subscription/contract/helper.ts","webpack://energy-subscription-front/./src/store/subscription/contract/index.ts","webpack://energy-subscription-front/./src/api/subscription/index.ts","webpack://energy-subscription-front/./src/api/emailValidation/index.ts","webpack://energy-subscription-front/./src/store/subscription/emailValidation/index.ts","webpack://energy-subscription-front/./src/api/gridOperator/index.ts","webpack://energy-subscription-front/./src/store/subscription/gridOperator/index.ts","webpack://energy-subscription-front/./src/store/subscription/index.ts","webpack://energy-subscription-front/./src/store/index.ts","webpack://energy-subscription-front/./src/router/index.ts","webpack://energy-subscription-front/./src/startup.ts","webpack://energy-subscription-front/./src/main.ts","webpack://energy-subscription-front/./src/store/navigation/type.ts","webpack://energy-subscription-front/./src/store/subscription/bankDetails/constant.ts","webpack://energy-subscription-front/./src/store/subscription/contactInformation/constant.ts","webpack://energy-subscription-front/./src/store/subscription/contactInformation/type.ts","webpack://energy-subscription-front/./src/store/subscription/contractSigning/type.ts","webpack://energy-subscription-front/./src/store/subscription/housing/constants.ts","webpack://energy-subscription-front/./src/store/subscription/housing/type.ts","webpack://energy-subscription-front/./src/store/subscription/validators.ts","webpack://energy-subscription-front/./src/i18n/ sync [A-Za-z0-9-_,\\s]+\\.json$/","webpack://energy-subscription-front/webpack/bootstrap","webpack://energy-subscription-front/webpack/runtime/chunk loaded","webpack://energy-subscription-front/webpack/runtime/compat get default export","webpack://energy-subscription-front/webpack/runtime/define property getters","webpack://energy-subscription-front/webpack/runtime/ensure chunk","webpack://energy-subscription-front/webpack/runtime/get javascript chunk filename","webpack://energy-subscription-front/webpack/runtime/get mini-css chunk filename","webpack://energy-subscription-front/webpack/runtime/global","webpack://energy-subscription-front/webpack/runtime/hasOwnProperty shorthand","webpack://energy-subscription-front/webpack/runtime/load script","webpack://energy-subscription-front/webpack/runtime/make namespace object","webpack://energy-subscription-front/webpack/runtime/node module decorator","webpack://energy-subscription-front/webpack/runtime/publicPath","webpack://energy-subscription-front/webpack/runtime/css loading","webpack://energy-subscription-front/webpack/runtime/jsonp chunk loading","webpack://energy-subscription-front/webpack/startup"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:{ mobileNavigation: _vm.isMobileNavigation, withoutPadding: _vm.withoutPadding },attrs:{\"id\":\"mainContent\"}},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MainContent.vue?vue&type=template&id=10dbc214&scoped=true&\"\nimport script from \"./MainContent.vue?vue&type=script&lang=js&\"\nexport * from \"./MainContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MainContent.vue?vue&type=style&index=0&id=10dbc214&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"10dbc214\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:{\n 'mainHeader--with-back-button': _vm.withBackButton,\n 'mainHeader--with-help-button': _vm.withHelpButton,\n },attrs:{\"id\":\"mainHeader\"}},[(_vm.withBackButton)?_c('span',{staticClass:\"mainHeader__back-button\",attrs:{\"cy-id\":\"backButton\"},on:{\"click\":function($event){return _vm.$emit('on-go-back')}}},[_c('b-icon',{attrs:{\"icon\":\"arrow-left\",\"size\":\"is-medium\",\"type\":\"is-primary\"}})],1):_vm._e(),_c('span',{class:['mainHeader__title']},[_vm._v(_vm._s(_vm.mainHeaderTitle))]),(_vm.withHelpButton)?_c('span',{staticClass:\"mainHeader__help-button\",attrs:{\"cy-id\":\"helpButton\"},on:{\"click\":function($event){return _vm.$emit('on-help')}}},[_c('b-icon',{attrs:{\"icon\":\"account-question-outline\",\"size\":\"is-medium\",\"type\":\"is-primary\"}})],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MainHeader.vue?vue&type=template&id=44893180&scoped=true&\"\nimport script from \"./MainHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./MainHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MainHeader.vue?vue&type=style&index=0&id=44893180&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"44893180\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:{ withMobileStepHeader: _vm.withMobileStepHeader },attrs:{\"id\":\"mainLayout\"}},[_c('MainSidebar',[_vm._t(\"sidebar\")],2),_c('MainHeader'),(_vm.withMobileStepHeader)?_c('MobileStepHeader'):_vm._e(),_c('MainContent',{attrs:{\"is-mobile-navigation\":_vm.withMobileStepHeader}},[_vm._t(\"content\")],2),_c('b-loading',{attrs:{\"active\":_vm.loading}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"sidebar\"}},[_c('div',{staticClass:\"sidebar\"},[_c('header',{staticClass:\"sidebar__header\",on:{\"click\":function($event){return _vm.goHome()}}},[(_vm.tenant === 'DOM')?_c('domuneo-logo'):_c('mylight-logo')],1),_c('div',{staticClass:\"sidebar__content\"},[_vm._t(\"default\")],2),_c('footer',{staticClass:\"sidebar__footer\"})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('img',{staticClass:\"logo--mylight\",attrs:{\"alt\":\"Mylight Systems\",\"src\":require(\"@/assets/images/tenants/myLight/logoWithText.svg\")}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./mylightLogo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./mylightLogo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./mylightLogo.vue?vue&type=template&id=ca730716&scoped=true&\"\nimport script from \"./mylightLogo.vue?vue&type=script&lang=js&\"\nexport * from \"./mylightLogo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./mylightLogo.vue?vue&type=style&index=0&id=ca730716&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ca730716\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('img',{staticClass:\"logo--domuneo\",attrs:{\"alt\":\"Domuneo\",\"src\":require(\"@/assets/images/tenants/domuneo/logoWithText.svg\")}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./domuneoLogo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./domuneoLogo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./domuneoLogo.vue?vue&type=template&id=4756595c&scoped=true&\"\nimport script from \"./domuneoLogo.vue?vue&type=script&lang=js&\"\nexport * from \"./domuneoLogo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./domuneoLogo.vue?vue&type=style&index=0&id=4756595c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4756595c\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainSidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainSidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MainSidebar.vue?vue&type=template&id=1ad3baee&scoped=true&\"\nimport script from \"./MainSidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./MainSidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MainSidebar.vue?vue&type=style&index=0&id=1ad3baee&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1ad3baee\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"mobileStepHeader\"}},[_c('subscription-steps-navigation',{attrs:{\"is-mobile\":\"\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MobileStepHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MobileStepHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MobileStepHeader.vue?vue&type=template&id=4c530d6e&scoped=true&\"\nimport script from \"./MobileStepHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./MobileStepHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MobileStepHeader.vue?vue&type=style&index=0&id=4c530d6e&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4c530d6e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MainLayout.vue?vue&type=template&id=68bc47db&scoped=true&\"\nimport script from \"./MainLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./MainLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MainLayout.vue?vue&type=style&index=0&id=68bc47db&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"68bc47db\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-steps',{attrs:{\"has-navigation\":_vm.isMobile,\"size\":_vm.isMobile ? 'is-small' : '',\"value\":_vm.currentStep,\"vertical\":!_vm.isMobile,\"animated\":\"\",\"label-position\":\"bottom\",\"mobile-mode\":\"minimalist\",\"step\":\"contactInformation\"},on:{\"input\":(step) => _vm.changeStep(step)},scopedSlots:_vm._u([{key:\"navigation\",fn:function({ previous, next }){return (_vm.isMobile)?[_c('div',{staticClass:\"step-navigation\"},[_c('b-button',{attrs:{\"disabled\":previous.disabled,\"icon-left\":\"arrow-left\",\"type\":\"is-primary\"},on:{\"click\":function($event){$event.preventDefault();return previous.action.apply(null, arguments)}}}),_c('b-button',{attrs:{\"disabled\":next.disabled,\"icon-left\":\"arrow-right\",\"type\":\"is-primary\"},on:{\"click\":function($event){$event.preventDefault();return next.action.apply(null, arguments)}}})],1)]:undefined}}],null,true)},[_c('b-step-item',{attrs:{\"headerClass\":_vm.currentStep === _vm.RouteName.Offer ? 'offerStep' : 'offerStep is-previous',\"icon\":_vm.getIconType(_vm.RouteName.Offer),\"label\":_vm.$t('offer.yourOffer'),\"type\":_vm.getIconColor(_vm.RouteName.Offer),\"value\":_vm.RouteName.Offer}}),_c('b-step-item',{attrs:{\"headerClass\":_vm.currentStep === _vm.RouteName.ContactInformation\n ? 'contactInformationStep'\n : 'contactInformationStep is-previous',\"icon\":_vm.getIconType(_vm.RouteName.ContactInformation),\"label\":_vm.$t('contactInformation.yourContactDetails'),\"type\":_vm.getIconColor(_vm.RouteName.ContactInformation),\"value\":_vm.RouteName.ContactInformation,\"clickable\":_vm.checkIfStepFinished(_vm.RouteName.Offer)}}),_c('b-step-item',{attrs:{\"headerClass\":_vm.currentStep === _vm.RouteName.Housing\n ? 'housingStep'\n : 'housingStep is-previous',\"icon\":_vm.getIconType(_vm.RouteName.Housing),\"label\":_vm.$t('housing.yourAccommodation'),\"type\":_vm.getIconColor(_vm.RouteName.Housing),\"value\":_vm.RouteName.Housing,\"clickable\":_vm.checkIfStepFinished(_vm.RouteName.ContactInformation)}}),_c('b-step-item',{attrs:{\"headerClass\":_vm.currentStep === _vm.RouteName.Billing\n ? 'billingStep'\n : 'billingStep is-previous',\"icon\":_vm.getIconType(_vm.RouteName.Billing),\"label\":_vm.$t('billing.yourBilling'),\"type\":_vm.getIconColor(_vm.RouteName.Billing),\"value\":_vm.RouteName.Billing,\"clickable\":_vm.checkIfStepFinished(_vm.RouteName.Housing)}}),_c('b-step-item',{attrs:{\"headerClass\":_vm.currentStep === _vm.RouteName.BankDetails\n ? 'bankDetailsStep'\n : 'bankDetailsStep is-previous',\"icon\":_vm.getIconType(_vm.RouteName.BankDetails),\"label\":_vm.$t('bankDetails.yourBankDetails'),\"type\":_vm.getIconColor(_vm.RouteName.BankDetails),\"value\":_vm.RouteName.BankDetails,\"clickable\":_vm.checkIfStepFinished(_vm.RouteName.Billing)}}),_c('b-step-item',{attrs:{\"headerClass\":_vm.currentStep === _vm.RouteName.Contract\n ? 'contractStep'\n : 'contractStep is-previous',\"icon\":_vm.getIconType(_vm.RouteName.Contract),\"label\":_vm.$t('contract.yourContract'),\"type\":_vm.getIconColor(_vm.RouteName.Contract),\"value\":_vm.RouteName.Contract,\"clickable\":_vm.checkIfStepFinished(_vm.RouteName.BankDetails)}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SubscriptionStepsNavigation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SubscriptionStepsNavigation.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SubscriptionStepsNavigation.vue?vue&type=template&id=1809436b&\"\nimport script from \"./SubscriptionStepsNavigation.vue?vue&type=script&lang=js&\"\nexport * from \"./SubscriptionStepsNavigation.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var map = {\n\t\"./af\": 3906,\n\t\"./af.js\": 3906,\n\t\"./ar\": 902,\n\t\"./ar-dz\": 3853,\n\t\"./ar-dz.js\": 3853,\n\t\"./ar-kw\": 299,\n\t\"./ar-kw.js\": 299,\n\t\"./ar-ly\": 6825,\n\t\"./ar-ly.js\": 6825,\n\t\"./ar-ma\": 6379,\n\t\"./ar-ma.js\": 6379,\n\t\"./ar-sa\": 7700,\n\t\"./ar-sa.js\": 7700,\n\t\"./ar-tn\": 2059,\n\t\"./ar-tn.js\": 2059,\n\t\"./ar.js\": 902,\n\t\"./az\": 6043,\n\t\"./az.js\": 6043,\n\t\"./be\": 7936,\n\t\"./be.js\": 7936,\n\t\"./bg\": 4078,\n\t\"./bg.js\": 4078,\n\t\"./bm\": 4014,\n\t\"./bm.js\": 4014,\n\t\"./bn\": 9554,\n\t\"./bn-bd\": 7114,\n\t\"./bn-bd.js\": 7114,\n\t\"./bn.js\": 9554,\n\t\"./bo\": 6529,\n\t\"./bo.js\": 6529,\n\t\"./br\": 5437,\n\t\"./br.js\": 5437,\n\t\"./bs\": 9647,\n\t\"./bs.js\": 9647,\n\t\"./ca\": 9951,\n\t\"./ca.js\": 9951,\n\t\"./cs\": 6113,\n\t\"./cs.js\": 6113,\n\t\"./cv\": 7965,\n\t\"./cv.js\": 7965,\n\t\"./cy\": 5858,\n\t\"./cy.js\": 5858,\n\t\"./da\": 3515,\n\t\"./da.js\": 3515,\n\t\"./de\": 2831,\n\t\"./de-at\": 6263,\n\t\"./de-at.js\": 6263,\n\t\"./de-ch\": 1127,\n\t\"./de-ch.js\": 1127,\n\t\"./de.js\": 2831,\n\t\"./dv\": 4510,\n\t\"./dv.js\": 4510,\n\t\"./el\": 8616,\n\t\"./el.js\": 8616,\n\t\"./en-au\": 4595,\n\t\"./en-au.js\": 4595,\n\t\"./en-ca\": 3545,\n\t\"./en-ca.js\": 3545,\n\t\"./en-gb\": 9609,\n\t\"./en-gb.js\": 9609,\n\t\"./en-ie\": 3727,\n\t\"./en-ie.js\": 3727,\n\t\"./en-il\": 3302,\n\t\"./en-il.js\": 3302,\n\t\"./en-in\": 6305,\n\t\"./en-in.js\": 6305,\n\t\"./en-nz\": 9128,\n\t\"./en-nz.js\": 9128,\n\t\"./en-sg\": 4569,\n\t\"./en-sg.js\": 4569,\n\t\"./eo\": 650,\n\t\"./eo.js\": 650,\n\t\"./es\": 6358,\n\t\"./es-do\": 4214,\n\t\"./es-do.js\": 4214,\n\t\"./es-mx\": 8639,\n\t\"./es-mx.js\": 8639,\n\t\"./es-us\": 232,\n\t\"./es-us.js\": 232,\n\t\"./es.js\": 6358,\n\t\"./et\": 7279,\n\t\"./et.js\": 7279,\n\t\"./eu\": 5515,\n\t\"./eu.js\": 5515,\n\t\"./fa\": 7981,\n\t\"./fa.js\": 7981,\n\t\"./fi\": 7090,\n\t\"./fi.js\": 7090,\n\t\"./fil\": 9208,\n\t\"./fil.js\": 9208,\n\t\"./fo\": 2799,\n\t\"./fo.js\": 2799,\n\t\"./fr\": 3463,\n\t\"./fr-ca\": 2213,\n\t\"./fr-ca.js\": 2213,\n\t\"./fr-ch\": 2848,\n\t\"./fr-ch.js\": 2848,\n\t\"./fr.js\": 3463,\n\t\"./fy\": 1468,\n\t\"./fy.js\": 1468,\n\t\"./ga\": 8163,\n\t\"./ga.js\": 8163,\n\t\"./gd\": 2898,\n\t\"./gd.js\": 2898,\n\t\"./gl\": 6312,\n\t\"./gl.js\": 6312,\n\t\"./gom-deva\": 682,\n\t\"./gom-deva.js\": 682,\n\t\"./gom-latn\": 9178,\n\t\"./gom-latn.js\": 9178,\n\t\"./gu\": 5009,\n\t\"./gu.js\": 5009,\n\t\"./he\": 2795,\n\t\"./he.js\": 2795,\n\t\"./hi\": 7009,\n\t\"./hi.js\": 7009,\n\t\"./hr\": 6506,\n\t\"./hr.js\": 6506,\n\t\"./hu\": 9565,\n\t\"./hu.js\": 9565,\n\t\"./hy-am\": 3864,\n\t\"./hy-am.js\": 3864,\n\t\"./id\": 5626,\n\t\"./id.js\": 5626,\n\t\"./is\": 6649,\n\t\"./is.js\": 6649,\n\t\"./it\": 151,\n\t\"./it-ch\": 5348,\n\t\"./it-ch.js\": 5348,\n\t\"./it.js\": 151,\n\t\"./ja\": 9830,\n\t\"./ja.js\": 9830,\n\t\"./jv\": 3751,\n\t\"./jv.js\": 3751,\n\t\"./ka\": 3365,\n\t\"./ka.js\": 3365,\n\t\"./kk\": 5980,\n\t\"./kk.js\": 5980,\n\t\"./km\": 9571,\n\t\"./km.js\": 9571,\n\t\"./kn\": 5880,\n\t\"./kn.js\": 5880,\n\t\"./ko\": 6809,\n\t\"./ko.js\": 6809,\n\t\"./ku\": 6773,\n\t\"./ku.js\": 6773,\n\t\"./ky\": 5505,\n\t\"./ky.js\": 5505,\n\t\"./lb\": 553,\n\t\"./lb.js\": 553,\n\t\"./lo\": 1237,\n\t\"./lo.js\": 1237,\n\t\"./lt\": 1563,\n\t\"./lt.js\": 1563,\n\t\"./lv\": 1057,\n\t\"./lv.js\": 1057,\n\t\"./me\": 6495,\n\t\"./me.js\": 6495,\n\t\"./mi\": 3096,\n\t\"./mi.js\": 3096,\n\t\"./mk\": 3874,\n\t\"./mk.js\": 3874,\n\t\"./ml\": 6055,\n\t\"./ml.js\": 6055,\n\t\"./mn\": 7747,\n\t\"./mn.js\": 7747,\n\t\"./mr\": 7113,\n\t\"./mr.js\": 7113,\n\t\"./ms\": 8687,\n\t\"./ms-my\": 7948,\n\t\"./ms-my.js\": 7948,\n\t\"./ms.js\": 8687,\n\t\"./mt\": 4532,\n\t\"./mt.js\": 4532,\n\t\"./my\": 4655,\n\t\"./my.js\": 4655,\n\t\"./nb\": 6961,\n\t\"./nb.js\": 6961,\n\t\"./ne\": 2512,\n\t\"./ne.js\": 2512,\n\t\"./nl\": 8448,\n\t\"./nl-be\": 2936,\n\t\"./nl-be.js\": 2936,\n\t\"./nl.js\": 8448,\n\t\"./nn\": 9031,\n\t\"./nn.js\": 9031,\n\t\"./oc-lnc\": 5174,\n\t\"./oc-lnc.js\": 5174,\n\t\"./pa-in\": 118,\n\t\"./pa-in.js\": 118,\n\t\"./pl\": 3448,\n\t\"./pl.js\": 3448,\n\t\"./pt\": 3518,\n\t\"./pt-br\": 2447,\n\t\"./pt-br.js\": 2447,\n\t\"./pt.js\": 3518,\n\t\"./ro\": 817,\n\t\"./ro.js\": 817,\n\t\"./ru\": 262,\n\t\"./ru.js\": 262,\n\t\"./sd\": 8990,\n\t\"./sd.js\": 8990,\n\t\"./se\": 3842,\n\t\"./se.js\": 3842,\n\t\"./si\": 7711,\n\t\"./si.js\": 7711,\n\t\"./sk\": 756,\n\t\"./sk.js\": 756,\n\t\"./sl\": 3772,\n\t\"./sl.js\": 3772,\n\t\"./sq\": 6187,\n\t\"./sq.js\": 6187,\n\t\"./sr\": 732,\n\t\"./sr-cyrl\": 5713,\n\t\"./sr-cyrl.js\": 5713,\n\t\"./sr.js\": 732,\n\t\"./ss\": 9455,\n\t\"./ss.js\": 9455,\n\t\"./sv\": 9770,\n\t\"./sv.js\": 9770,\n\t\"./sw\": 959,\n\t\"./sw.js\": 959,\n\t\"./ta\": 6459,\n\t\"./ta.js\": 6459,\n\t\"./te\": 5302,\n\t\"./te.js\": 5302,\n\t\"./tet\": 7975,\n\t\"./tet.js\": 7975,\n\t\"./tg\": 1294,\n\t\"./tg.js\": 1294,\n\t\"./th\": 2385,\n\t\"./th.js\": 2385,\n\t\"./tk\": 4613,\n\t\"./tk.js\": 4613,\n\t\"./tl-ph\": 8668,\n\t\"./tl-ph.js\": 8668,\n\t\"./tlh\": 8190,\n\t\"./tlh.js\": 8190,\n\t\"./tr\": 4506,\n\t\"./tr.js\": 4506,\n\t\"./tzl\": 3440,\n\t\"./tzl.js\": 3440,\n\t\"./tzm\": 9852,\n\t\"./tzm-latn\": 2350,\n\t\"./tzm-latn.js\": 2350,\n\t\"./tzm.js\": 9852,\n\t\"./ug-cn\": 730,\n\t\"./ug-cn.js\": 730,\n\t\"./uk\": 99,\n\t\"./uk.js\": 99,\n\t\"./ur\": 2100,\n\t\"./ur.js\": 2100,\n\t\"./uz\": 6002,\n\t\"./uz-latn\": 6322,\n\t\"./uz-latn.js\": 6322,\n\t\"./uz.js\": 6002,\n\t\"./vi\": 4207,\n\t\"./vi.js\": 4207,\n\t\"./x-pseudo\": 4674,\n\t\"./x-pseudo.js\": 4674,\n\t\"./yo\": 570,\n\t\"./yo.js\": 570,\n\t\"./zh-cn\": 3644,\n\t\"./zh-cn.js\": 3644,\n\t\"./zh-hk\": 2591,\n\t\"./zh-hk.js\": 2591,\n\t\"./zh-mo\": 9503,\n\t\"./zh-mo.js\": 9503,\n\t\"./zh-tw\": 8080,\n\t\"./zh-tw.js\": 8080\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 6700;","import Vue from \"vue\";\nimport VueI18n, { LocaleMessages } from \"vue-i18n\";\n\nVue.use(VueI18n);\n\nfunction loadLocaleMessages(): LocaleMessages {\n const locales = require.context(\"./i18n\", true, /[A-Za-z0-9-_,\\s]+\\.json$/i);\n const messages: LocaleMessages = {};\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i);\n if (matched && matched.length > 1) {\n const locale = matched[1];\n messages[locale] = locales(key);\n }\n });\n return messages;\n}\n\nexport default new VueI18n({\n locale: process.env.VUE_APP_I18N_LOCALE || \"fr\",\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || \"en\",\n messages: loadLocaleMessages(),\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const GRD = {\n ENEDIS: \"ENEDIS\",\n};\n","\n\n\n\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=742ad0bc&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable no-console */\n\nimport { register } from \"register-service-worker\";\n\nif (process.env.NODE_ENV === \"production\") {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n \"App is being served from cache by a service worker.\\n\" +\n \"For more details, visit https://goo.gl/AFskqB\"\n );\n },\n registered() {\n console.log(\"Service worker has been registered.\");\n },\n cached() {\n console.log(\"Content has been cached for offline use.\");\n },\n updatefound() {\n console.log(\"New content is downloading.\");\n },\n updated() {\n console.log(\"New content is available; please refresh.\");\n },\n offline() {\n console.log(\n \"No internet connection found. App is running in offline mode.\"\n );\n },\n error(error) {\n console.error(\"Error during service worker registration:\", error);\n },\n });\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"formSubscriptionLayout\"}},[_c('MainLayout',{attrs:{\"loading\":_vm.isGetSubscriptionLoading,\"with-mobile-step-header\":true},scopedSlots:_vm._u([{key:\"sidebar\",fn:function(){return [_c('SubscriptionStepsNavigation')]},proxy:true},{key:\"content\",fn:function(){return [_c('router-view')]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./formSubscriptionLayoutPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./formSubscriptionLayoutPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./formSubscriptionLayoutPage.vue?vue&type=template&id=f4897bfe&scoped=true&\"\nimport script from \"./formSubscriptionLayoutPage.vue?vue&type=script&lang=js&\"\nexport * from \"./formSubscriptionLayoutPage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f4897bfe\",\n null\n \n)\n\nexport default component.exports","import {\n NavigationState,\n RouteName,\n SubscriptionStep,\n} from \"@/store/navigation/type\";\n\nexport const state: NavigationState = {\n mainHeaderTitle: \"\",\n currentStep: null,\n visitedSteps: {},\n};\nexport const getters = {\n getMainHeaderTitle: () => {\n return state.mainHeaderTitle;\n },\n getCurrentStep: () => {\n return state.currentStep;\n },\n checkIfStepVisited:\n (state: NavigationState) =>\n (step: SubscriptionStep): boolean => {\n return !!state.visitedSteps[step];\n },\n checkIfStepFinished:\n (\n state: NavigationState,\n getters: any,\n rootState: any,\n rootGetters: { [x: string]: any }\n ) =>\n (step: SubscriptionStep): boolean => {\n switch (step) {\n case RouteName.ContactInformation:\n return rootGetters[\n \"subscription/contactInformation/isContactInformationStepValid\"\n ];\n case RouteName.Housing:\n return rootGetters[\"subscription/housing/isHousingStepValid\"];\n case RouteName.Offer:\n return rootGetters[\"subscription/offer/isOfferStepValid\"];\n case RouteName.Billing:\n return rootGetters[\"subscription/billing/isBillingStepValid\"];\n case RouteName.BankDetails:\n return rootGetters[\"subscription/bankDetails/isBankDetailsStepValid\"];\n case RouteName.Contract:\n return rootGetters[\"subscription/contract/isContractStepValid\"];\n default:\n return false;\n }\n },\n};\nexport const mutations = {\n setMainHeaderTitle: (state: NavigationState, mainHeaderTitle: string) => {\n state.mainHeaderTitle = mainHeaderTitle;\n },\n setCurrentStep: (state: NavigationState, currentStep: RouteName) => {\n state.currentStep = currentStep;\n },\n setVisitedStep: (state: NavigationState, step: SubscriptionStep) => {\n state.visitedSteps[step] = true;\n },\n};\n\nexport const actions = {};\n\nconst navigation = {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n\nexport default navigation;\n","export const enum TypeNotification {\n IsSuccess = \"is-success\",\n IsDanger = \"is-danger\",\n IsWarning = \"is-warning\",\n}\n\nexport interface NotificationState {\n position: string;\n queue: boolean;\n duration: number;\n}\n","import {\n NotificationProgrammatic as Notification,\n ToastProgrammatic as Toast,\n} from \"buefy\";\nimport { NotificationState, TypeNotification } from \"@/store/notification/type\";\n\nexport const state: NotificationState = {\n position: \"is-bottom-right\",\n queue: false,\n duration: Number(process.env.VUE_APP_DISPLAY_NOTIFICATION_DURATION) || 5000,\n};\n\nexport const getters = {\n getIcon: () => (type: TypeNotification) => {\n let icon: string;\n switch (type) {\n case TypeNotification.IsWarning:\n icon = \"mdi-alert-circle-outline\";\n break;\n case TypeNotification.IsDanger:\n icon = \"mdi-close\";\n break;\n default:\n icon = \"mdi-check\";\n break;\n }\n return icon;\n },\n getIconColorClass: () => (type: TypeNotification) => {\n let iconClass: string;\n switch (type) {\n case TypeNotification.IsWarning:\n iconClass = \"darkWarning\";\n break;\n case TypeNotification.IsDanger:\n iconClass = \"darkDanger\";\n break;\n default:\n iconClass = \"darkSuccess\";\n break;\n }\n return iconClass;\n },\n};\n\nexport const actions = {\n openNotification: {\n root: true,\n handler(\n namespacedContext: any,\n {\n message,\n type = TypeNotification.IsSuccess,\n duration = namespacedContext.state.duration,\n }: { message: string; type: TypeNotification; duration?: number }\n ) {\n const iconColorClass = namespacedContext.getters.getIconColorClass(type);\n const icon = namespacedContext.getters.getIcon(type);\n const HtmlMessage = `\n \n \n \n ${message}\n `;\n\n if (duration === 0) {\n Notification.open({\n type,\n message: HtmlMessage,\n position: namespacedContext.state.position,\n queue: namespacedContext.state.queue,\n indefinite: true,\n });\n } else {\n Toast.open({\n type,\n message: HtmlMessage,\n position: namespacedContext.state.position,\n queue: namespacedContext.state.queue,\n duration,\n });\n }\n },\n },\n};\n\nconst notification = {\n namespaced: true,\n state,\n getters,\n actions,\n};\n\nexport default notification;\n","import {\n ClientType,\n ContactInformationState,\n Cosigner,\n GetContactInformationQuery,\n Prefix,\n Tenant,\n} from \"@/store/subscription/contactInformation/type\";\nimport {\n MAX_LENGTH_COMPANY_IDENTIFICATION_NUMBER,\n MAX_LENGTH_FAMILY_NAME,\n MAX_LENGTH_FIRST_NAME,\n} from \"@/store/subscription/contactInformation/constant\";\nimport { stringValidators } from \"@/store/subscription/validators\";\nimport i18n from \"@/i18n\";\nimport { TranslateResult } from \"vue-i18n\";\nimport { DEFAULT_EMPTY_COSIGNER } from \"./constant\";\n\nexport const state: ContactInformationState = {\n companyName: \"\",\n companyIdentificationNumber: \"\",\n prefix: null,\n familyName: \"\",\n firstName: \"\",\n email: \"\",\n mobilePhone: \"\",\n tenant: process.env.VUE_APP_TENANT\n ? (process.env.VUE_APP_TENANT as Tenant)\n : Tenant.MYL,\n clientType: ClientType.RES,\n identificationNumber: null,\n cosigner: DEFAULT_EMPTY_COSIGNER,\n cosignerExists: false,\n};\n\nexport const getters = {\n getClientType(state: ContactInformationState) {\n return state.clientType;\n },\n isIndividualClient(state: ContactInformationState): boolean {\n return state.clientType === ClientType.RES;\n },\n isProfessionalClient(state: ContactInformationState): boolean {\n return state.clientType === ClientType.PRO;\n },\n getCompanyName(state: ContactInformationState) {\n return state.companyName;\n },\n isCompanyNameEmpty(state: ContactInformationState) {\n return stringValidators.isEmpty(state.companyName);\n },\n isCompanyNameValid(state: ContactInformationState, getters: any) {\n return !getters.isCompanyNameEmpty;\n },\n getCompanyNameErrors(\n state: ContactInformationState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isCompanyNameEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n }\n return errors;\n },\n\n getCompanyIdentificationNumber(state: ContactInformationState) {\n return state.companyIdentificationNumber;\n },\n isCompanyIdentificationNumberEmpty(state: ContactInformationState) {\n return stringValidators.isEmpty(state.companyIdentificationNumber);\n },\n isCompanyIdentificationNumberBadFormat(state: ContactInformationState) {\n return !stringValidators.isNumberWithCorrectLength(\n state.companyIdentificationNumber,\n MAX_LENGTH_COMPANY_IDENTIFICATION_NUMBER\n );\n },\n isCompanyIdentificationNumberValid(\n state: ContactInformationState,\n getters: any\n ) {\n return (\n !getters.isCompanyIdentificationNumberEmpty &&\n !getters.isCompanyIdentificationNumberBadFormat\n );\n },\n getCompanyIdentificationNumberErrors(\n state: ContactInformationState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isCompanyIdentificationNumberEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n } else if (getters.isCompanyIdentificationNumberBadFormat) {\n errors.push(i18n.t(\"common.formError.fieldHasBadFormat\"));\n }\n return errors;\n },\n\n getPrefix(state: ContactInformationState) {\n return state.prefix;\n },\n getPrefixErrors(\n state: ContactInformationState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isPrefixEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n }\n return errors;\n },\n isPrefixEmpty(state: ContactInformationState) {\n return stringValidators.isEmpty(state.prefix as string | null);\n },\n isPrefixValid(state: ContactInformationState, getters: any) {\n return !getters.isPrefixEmpty;\n },\n\n getFamilyName(state: ContactInformationState) {\n return state.familyName;\n },\n isFamilyNameEmpty(state: ContactInformationState) {\n return stringValidators.isEmpty(state.familyName);\n },\n isFamilyNameBadFormat(state: ContactInformationState) {\n return !stringValidators.isName(state.familyName, MAX_LENGTH_FAMILY_NAME);\n },\n isFamilyNameValid(state: ContactInformationState, getters: any) {\n return !getters.isFamilyNameEmpty && !getters.isFamilyNameBadFormat;\n },\n getFamilyNameErrors(\n state: ContactInformationState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isFamilyNameEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n } else if (getters.isFamilyNameBadFormat) {\n errors.push(i18n.t(\"common.formError.fieldHasBadFormat\"));\n }\n return errors;\n },\n\n getFirstName(state: ContactInformationState) {\n return state.firstName;\n },\n isFirstNameEmpty(state: ContactInformationState) {\n return stringValidators.isEmpty(state.firstName);\n },\n isFirstNameBadFormat(state: ContactInformationState) {\n return !stringValidators.isName(state.firstName, MAX_LENGTH_FIRST_NAME);\n },\n isFirstNameValid(state: ContactInformationState, getters: any) {\n return !getters.isFirstNameEmpty && !getters.isFirstNameBadFormat;\n },\n getFirstNameErrors(\n state: ContactInformationState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isFirstNameEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n } else if (getters.isFirstNameBadFormat) {\n errors.push(i18n.t(\"common.formError.fieldHasBadFormat\"));\n }\n\n return errors;\n },\n\n getCosignerPrefix(state: ContactInformationState) {\n return state.cosigner?.prefix;\n },\n getCosignerPrefixErrors(\n state: ContactInformationState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isCosignerPrefixEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n }\n return errors;\n },\n isCosignerPrefixEmpty(state: ContactInformationState) {\n return stringValidators.isEmpty(state.cosigner?.prefix as string | null);\n },\n isCosignerPrefixValid(state: ContactInformationState, getters: any) {\n return !getters.isCosignerPrefixEmpty;\n },\n\n getCosignerExists(state: ContactInformationState) {\n return state.cosignerExists;\n },\n getCosignerFamilyName(state: ContactInformationState) {\n return state.cosigner?.familyName;\n },\n isCosignerFamilyNameEmpty(state: ContactInformationState) {\n return stringValidators.isEmpty(state.cosigner?.familyName);\n },\n isCosignerFamilyNameBadFormat(state: ContactInformationState) {\n return !stringValidators.isName(\n state.cosigner?.familyName || \"\",\n MAX_LENGTH_FAMILY_NAME\n );\n },\n isCosignerFamilyNameValid(state: ContactInformationState, getters: any) {\n return (\n !getters.isCosignerFirstNameEmpty && !getters.isCosignerFirstNameBadFormat\n );\n },\n getCosignerFamilyNameErrors(\n state: ContactInformationState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isCosignerFamilyNameEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n } else if (getters.isCosignerFamilyNameBadFormat) {\n errors.push(i18n.t(\"common.formError.fieldHasBadFormat\"));\n }\n return errors;\n },\n getCosignerFirstName(state: ContactInformationState) {\n return state.cosigner.firstName;\n },\n isCosignerFirstNameEmpty(state: ContactInformationState) {\n return stringValidators.isEmpty(state.cosigner.firstName);\n },\n isCosignerFirstNameBadFormat(state: ContactInformationState) {\n return !stringValidators.isName(\n state.cosigner?.firstName || \"\",\n MAX_LENGTH_FIRST_NAME\n );\n },\n isCosignerFirstNameValid(state: ContactInformationState, getters: any) {\n return (\n !getters.isCosignerFamilyNameEmpty &&\n !getters.isCosignerFamilyNameBadFormat\n );\n },\n getCosignerFirstNameErrors(\n state: ContactInformationState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isCosignerFirstNameEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n } else if (getters.isCosignerFirstNameBadFormat) {\n errors.push(i18n.t(\"common.formError.fieldHasBadFormat\"));\n }\n\n return errors;\n },\n isCosignerValid(state: ContactInformationState, getters: any) {\n return (\n !state.cosignerExists ||\n (getters.isCosignerFamilyNameValid &&\n getters.isCosignerFirstNameValid &&\n getters.isCosignerPrefixValid)\n );\n },\n\n getMobilePhone(state: ContactInformationState) {\n return state.mobilePhone;\n },\n isMobilePhoneEmpty(state: ContactInformationState) {\n return stringValidators.isEmpty(state.mobilePhone);\n },\n isMobilePhoneBadFormat(state: ContactInformationState) {\n return !stringValidators.isMobilePhone(state.mobilePhone);\n },\n isMobilePhoneBadPhoneNumber(state: ContactInformationState) {\n return !state.mobilePhone.startsWith(\"0\");\n },\n isMobilePhoneValid(state: ContactInformationState, getters: any) {\n return (\n !getters.isMobilePhoneEmpty &&\n !getters.isMobilePhoneBadFormat &&\n !getters.isMobilePhoneBadPhoneNumber\n );\n },\n getMobilePhoneErrors(\n state: ContactInformationState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isMobilePhoneEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n } else if (getters.isMobilePhoneBadFormat) {\n errors.push(i18n.t(\"common.formError.fieldHasBadFormat\"));\n } else if (getters.isMobilePhoneBadPhoneNumber) {\n errors.push(i18n.t(\"common.formError.fieldHasBadPhone\"));\n }\n return errors;\n },\n\n getEmail(state: ContactInformationState) {\n return state.email;\n },\n isEmailEmpty(state: ContactInformationState) {\n return stringValidators.isEmpty(state.email);\n },\n isEmailBadFormat(state: ContactInformationState) {\n return !stringValidators.isEmail(state.email);\n },\n isEmailValid(state: ContactInformationState, getters: any) {\n return !getters.isEmailEmpty && !getters.isEmailBadFormat;\n },\n getEmailErrors(\n state: ContactInformationState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isEmailEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n } else if (getters.isEmailBadFormat) {\n errors.push(i18n.t(\"common.formError.fieldHasBadFormat\"));\n }\n return errors;\n },\n\n getTenant(state: ContactInformationState) {\n return state.tenant;\n },\n\n getIdentificationNumber(state: ContactInformationState) {\n return state.identificationNumber;\n },\n\n getContactInformation(state: ContactInformationState, getters: any) {\n const contactInformation: any = {\n prefix: state.prefix,\n familyName: state.familyName,\n firstName: state.firstName,\n email: state.email,\n mobilePhone: state.mobilePhone,\n tenant: state.tenant,\n clientType: state.clientType,\n identificationNumber: state.identificationNumber,\n };\n\n if (getters.isIndividualClient) {\n if (state.cosignerExists) {\n contactInformation.cosigner = state.cosigner;\n }\n\n return contactInformation;\n } else {\n return {\n ...contactInformation,\n companyName: state.companyName,\n companyIdentificationNumber: state.companyIdentificationNumber,\n };\n }\n },\n isContactInformationStepValid(state: ContactInformationState, getters: any) {\n if (getters.isIndividualClient) {\n return (\n getters.isPrefixValid &&\n getters.isFamilyNameValid &&\n getters.isFirstNameValid &&\n getters.isEmailValid &&\n getters.isMobilePhoneValid &&\n getters.isCosignerValid\n );\n }\n\n if (getters.isProfessionalClient) {\n return (\n getters.isCompanyNameValid &&\n getters.isCompanyIdentificationNumberValid &&\n getters.isPrefixValid &&\n getters.isFamilyNameValid &&\n getters.isFirstNameValid &&\n getters.isEmailValid &&\n getters.isMobilePhoneValid\n );\n }\n\n return false;\n },\n};\n\nexport const mutations = {\n setClientType(state: ContactInformationState, clientType: ClientType) {\n state.clientType = clientType;\n },\n // COMPANY_NAME\n setCompanyName(state: ContactInformationState, companyName: string) {\n state.companyName = companyName;\n },\n // COMPANY_IDENTIFICATION_NUMBER\n setCompanyIdentificationNumber(\n state: ContactInformationState,\n companyIdentificationNumber: string\n ) {\n state.companyIdentificationNumber = companyIdentificationNumber;\n },\n setPrefix(state: ContactInformationState, prefix: Prefix) {\n state.prefix = prefix;\n },\n setFamilyName(state: ContactInformationState, familyName: string) {\n state.familyName = familyName;\n },\n setFirstName(state: ContactInformationState, firstName: string) {\n state.firstName = firstName;\n },\n setCosignerPrefix(state: ContactInformationState, prefix: Prefix) {\n state.cosigner.prefix = prefix;\n },\n setCosignerFamilyName(state: ContactInformationState, familyName: string) {\n state.cosigner.familyName = familyName;\n },\n setCosignerFirstName(state: ContactInformationState, firstName: string) {\n state.cosigner.firstName = firstName;\n },\n setCosignerExists(state: ContactInformationState, cosignerExists: boolean) {\n state.cosignerExists = cosignerExists;\n },\n setCosigner(state: ContactInformationState, cosigner: Cosigner) {\n state.cosigner = cosigner ? { ...cosigner } : DEFAULT_EMPTY_COSIGNER;\n },\n setEmail(state: ContactInformationState, email: string) {\n state.email = email;\n },\n setMobilePhone(state: ContactInformationState, mobilePhone: string) {\n state.mobilePhone = mobilePhone;\n },\n setTenant(state: ContactInformationState, tenant: Tenant) {\n state.tenant = tenant;\n },\n setIdentificationNumber(\n state: ContactInformationState,\n identificationNumber: number\n ) {\n state.identificationNumber = identificationNumber;\n },\n};\n\nexport const actions = {\n setContactInformation: (\n context: any,\n contactInformation: GetContactInformationQuery\n ) => {\n context.commit(\"setCompanyName\", contactInformation.companyName);\n context.commit(\n \"setCompanyIdentificationNumber\",\n contactInformation.companyIdentificationNumber\n );\n context.commit(\"setPrefix\", contactInformation.prefix);\n context.commit(\"setFamilyName\", contactInformation.familyName);\n context.commit(\"setFirstName\", contactInformation.firstName);\n context.commit(\"setEmail\", contactInformation.email);\n context.commit(\"setMobilePhone\", contactInformation.mobilePhone);\n context.commit(\"setClientType\", contactInformation.clientType);\n },\n setCosigner: (context: any, cosigner: Cosigner | null) => {\n const cosignerExists = !!cosigner;\n context.commit(\"setCosignerExists\", cosignerExists);\n context.commit(\"setCosigner\", cosigner);\n },\n};\n\nconst contactInformation = {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n\nexport default contactInformation;\n","import axios, {\n AxiosError,\n AxiosInstance,\n AxiosRequestConfig,\n AxiosResponse,\n} from \"axios\";\nimport store from \"@/store\";\n\nclass HttpService {\n private axiosInstance: AxiosInstance;\n\n constructor() {\n this.axiosInstance = this.setAxiosInstance();\n }\n\n public get(path: string, config?: AxiosRequestConfig) {\n return this.axiosInstance\n .get(path, config)\n .then((response) => Promise.resolve(response.data));\n }\n\n public getFullResponse(path: string, config?: AxiosRequestConfig) {\n return this.axiosInstance.get(path, config);\n }\n\n public post(path: string, payload?: any, config?: AxiosRequestConfig) {\n return this.axiosInstance\n .post(path, payload, config)\n .then((response) => Promise.resolve(response.data));\n }\n\n public put(path: string, payload?: any, config?: AxiosRequestConfig) {\n return this.axiosInstance\n .put(path, payload, config)\n .then((response) => Promise.resolve(response.data));\n }\n\n public patch(path: string, payload?: any, config?: AxiosRequestConfig) {\n return this.axiosInstance\n .patch(path, payload, config)\n .then((response) => Promise.resolve(response.data));\n }\n\n public delete(path: string, config?: AxiosRequestConfig) {\n return this.axiosInstance\n .delete(path, config)\n .then((response) => Promise.resolve(response.data));\n }\n\n private setAxiosInstance() {\n const axiosInstance = axios.create();\n axiosInstance.interceptors.response.use(\n this.handleSuccess,\n this.handleError\n );\n return axiosInstance;\n }\n\n private handleSuccess(\n response: AxiosResponse | Promise>\n ) {\n return response;\n }\n\n private handleError = (error: AxiosError) => {\n let response;\n switch (error?.response?.status) {\n case 500:\n store.dispatch(\n \"openNotification\",\n {\n message: `${error.response?.status}: ${error.response?.statusText}`,\n type: \"is-danger\",\n },\n { root: true }\n );\n response = Promise.reject(error.response);\n break;\n default:\n response = Promise.reject(error.response);\n break;\n }\n return response;\n };\n}\n\nexport const httpService = new HttpService();\n","import { httpService } from \"@/api\";\nimport { GridOperatorEnum } from \"@/store/subscription/housing/type\";\n\nconst validateGsrnEan = (\n gsrnEanNumber: string,\n gridOperatorEnum: GridOperatorEnum\n) => {\n return httpService.post(\n `${process.env.VUE_APP_API_ENERGY_SUBSCRIPTION}/GsrnEanValidation/formatvalidity`,\n {\n gridOperatorEnum: gridOperatorEnum,\n gsrnEanNumber: gsrnEanNumber,\n },\n {\n headers: {\n Authorization: process.env.VUE_APP_VALIDATION_GSRN_TOKEN,\n },\n }\n );\n};\n\nexport default {\n validateGsrnEan,\n};\n","import {\n ConsumptionInformationType,\n ContractedPower,\n ErrorValidationGsrnEan,\n GetHousingQuery,\n GridOperator,\n GridOperatorEnum,\n GridOperatorStatus,\n Housing,\n HousingState,\n StreetNumberSuffix,\n} from \"@/store/subscription/housing/type\";\nimport {\n MAX_LENGTH_GSRN_EAN_NUMBER_ENEDIS,\n MAX_LENGTH_GSRN_EAN_NUMBER_ES,\n MAX_LENGTH_POST_CODE,\n} from \"@/store/subscription/housing/constants\";\n\nimport apiGsrnEanValidation from \"@/api/gsrnEanValidation\";\n\nimport { stringValidators } from \"@/store/subscription/validators\";\nimport i18n from \"@/i18n\";\nimport { TranslateResult } from \"vue-i18n\";\nimport { ApiErrorResponse } from \"@/api/type\";\n\nexport const state: HousingState = {\n gridOperatorId: null,\n contractedPowers: [\n ContractedPower.SIX,\n ContractedPower.NINE,\n ContractedPower.TWELVE,\n ContractedPower.FIFTEEN,\n ContractedPower.EIGHTEEN,\n ContractedPower.TWENTY_FOUR,\n ContractedPower.THIRTY,\n ContractedPower.THIRTY_SIX,\n ],\n contractedPower: null,\n gsrnEANNumber: \"\",\n streetNumber: \"\",\n streetNumberSuffixes: [\n StreetNumberSuffix.BIS,\n StreetNumberSuffix.TER,\n StreetNumberSuffix.QUATER,\n ],\n streetNumberSuffix: null,\n street: \"\",\n postCode: \"\",\n city: \"\",\n consumptionInformationType: ConsumptionInformationType.EURO,\n consumptionInformationEuros: \"\",\n consumptionInformationKwh: \"\",\n loadingValidationGsrnEan: false,\n errorValidationGsrnEan: null,\n successValidationGsrnEan: false,\n};\n\nexport const getters = {\n getGridOperator(\n state: HousingState,\n getters: any,\n rootState: any,\n rootGetters: { [x: string]: any }\n ): GridOperator | null {\n const gridOperator: GridOperator | undefined = rootGetters[\n \"subscription/gridOperator/getGridOperators\"\n ].find(\n (gridOperator: GridOperator) => gridOperator.id === state.gridOperatorId\n );\n return gridOperator || null;\n },\n getGridOperatorName(state: HousingState, getters: any): string {\n const gridOperator: GridOperator | null = getters.getGridOperator;\n return gridOperator ? gridOperator.name : \"\";\n },\n getGridOperatorEnum(state: HousingState, getters: any): string {\n const gridOperator: GridOperator | null = getters.getGridOperator;\n return gridOperator ? gridOperator.gridOperatorEnum : \"\";\n },\n getGridOperatorStatus: (\n state: HousingState,\n getters: any\n ): GridOperatorStatus => {\n const gridOperator: GridOperator | null = getters.getGridOperator;\n return gridOperator ? gridOperator.status : GridOperatorStatus.UNMANAGED;\n },\n getGridOperatorId(state: HousingState): string | null {\n return state.gridOperatorId;\n },\n isGridOperatorValid(state: HousingState, getters: any): boolean {\n const isGridOperatorManaged =\n getters.getGridOperatorStatus === GridOperatorStatus.MANAGED;\n return isGridOperatorManaged;\n },\n\n getContractedPowers(state: HousingState): Array {\n return state.contractedPowers;\n },\n getContractedPower(state: HousingState): ContractedPower | null {\n return state.contractedPower;\n },\n getContractedPowerErrors(\n state: HousingState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isContractedPowerEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n }\n return errors;\n },\n isContractedPowerEmpty(state: HousingState): boolean {\n return stringValidators.isEmpty(state.contractedPower as string | null);\n },\n isContractedPowerValid(state: HousingState, getters: any): boolean {\n return !getters.isContractedPowerEmpty;\n },\n\n getGsrnEANNumber(state: HousingState): string {\n return state.gsrnEANNumber;\n },\n isGsrnEANNumberEmpty(state: HousingState): boolean {\n return stringValidators.isEmpty(state.gsrnEANNumber);\n },\n isGsrnEANNumberBadFormat(state: HousingState, getters: any): boolean {\n return getters.getGridOperatorEnum === GridOperatorEnum.ENEDIS\n ? !stringValidators.isNumberWithCorrectLength(\n state.gsrnEANNumber,\n MAX_LENGTH_GSRN_EAN_NUMBER_ENEDIS\n )\n : state.gsrnEANNumber.length < MAX_LENGTH_GSRN_EAN_NUMBER_ES;\n },\n isGsrnEANNumberValid(state: HousingState, getters: any): boolean {\n return (\n !getters.isGsrnEANNumberEmpty &&\n !getters.isGsrnEANNumberBadFormat &&\n state.successValidationGsrnEan\n );\n },\n getGsrnEANNumberErrors(\n state: HousingState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isGsrnEANNumberEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n } else if (getters.isGsrnEANNumberBadFormat) {\n errors.push(i18n.t(\"common.formError.fieldHasBadFormat\"));\n } else if (state.errorValidationGsrnEan) {\n errors.push(\n i18n.t(\"housing.errors.gsrnEANNumber.\" + state.errorValidationGsrnEan, {\n phoneNumber: i18n.t(\n \"common.support.phoneNumber.\" + process.env.VUE_APP_TENANT\n ),\n grdName: getters.getGridOperatorName,\n })\n );\n }\n return errors;\n },\n getLoadingValidationGsrnEan(state: HousingState) {\n return state.loadingValidationGsrnEan;\n },\n getErrorValidationGsrnEan(state: HousingState) {\n return state.errorValidationGsrnEan;\n },\n getStreetNumber(state: HousingState): string {\n return state.streetNumber;\n },\n isStreetNumberBadFormat(state: HousingState): boolean {\n return state.streetNumber === \"0\" || isNaN(Number(state.streetNumber));\n },\n isStreetNumberValid(state: HousingState, getters: any): boolean {\n return !getters.isStreetNumberBadFormat;\n },\n getStreetNumberErrors(\n state: HousingState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isStreetNumberBadFormat) {\n errors.push(i18n.t(\"common.formError.fieldHasBadFormat\"));\n }\n return errors;\n },\n\n getStreetNumberSuffix(state: HousingState): StreetNumberSuffix | null {\n return state.streetNumberSuffix;\n },\n getStreetNumberSuffixes(state: HousingState): Array {\n return state.streetNumberSuffixes;\n },\n\n getStreet(state: HousingState): string {\n return state.street;\n },\n isStreetEmpty(state: HousingState): boolean {\n return stringValidators.isEmpty(state.street);\n },\n isStreetValid(state: HousingState, getters: any): boolean {\n return !getters.isStreetEmpty;\n },\n getStreetErrors(state: HousingState, getters: any): Array {\n const errors = [];\n if (getters.isStreetEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n }\n return errors;\n },\n\n getPostCode(state: HousingState): string {\n return state.postCode;\n },\n isPostCodeEmpty(state: HousingState): boolean {\n return stringValidators.isEmpty(state.postCode);\n },\n isPostCodeBadFormat(state: HousingState): boolean {\n return !stringValidators.isNumberWithCorrectLength(\n state.postCode,\n MAX_LENGTH_POST_CODE\n );\n },\n isPostCodeValid(state: HousingState, getters: any): boolean {\n return !getters.isPostCodeEmpty && !getters.isPostCodeBadFormat;\n },\n getPostCodeErrors(state: HousingState, getters: any): Array {\n const errors = [];\n if (getters.isPostCodeEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n } else if (getters.isPostCodeBadFormat) {\n errors.push(i18n.t(\"common.formError.fieldHasBadFormat\"));\n }\n return errors;\n },\n\n getCity(state: HousingState): string {\n return state.city;\n },\n isCityEmpty(state: HousingState): boolean {\n return stringValidators.isEmpty(state.city);\n },\n isCityValid(state: HousingState, getters: any): boolean {\n return !getters.isCityEmpty;\n },\n getCityErrors(state: HousingState, getters: any): Array {\n const errors = [];\n if (getters.isCityEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n }\n return errors;\n },\n\n getConsumptionInformationType(state: HousingState): string {\n return state.consumptionInformationType;\n },\n\n getConsumptionInformationEuros(state: HousingState): string {\n return state.consumptionInformationEuros;\n },\n isConsumptionInformationEurosEmpty(state: HousingState): boolean {\n return (\n stringValidators.isEmpty(state.consumptionInformationEuros) ||\n state.consumptionInformationEuros === \"0\"\n );\n },\n isConsumptionInformationEurosValid(\n state: HousingState,\n getters: any\n ): boolean {\n return !getters.isConsumptionInformationEurosEmpty;\n },\n getConsumptionInformationEurosErrors(\n state: HousingState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isConsumptionInformationEurosEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n }\n return errors;\n },\n\n getConsumptionInformationKwh(state: HousingState): string {\n return state.consumptionInformationKwh;\n },\n isConsumptionInformationKwhEmpty(state: HousingState): boolean {\n return (\n stringValidators.isEmpty(state.consumptionInformationKwh) ||\n state.consumptionInformationKwh === \"0\"\n );\n },\n isConsumptionInformationKwhValid(state: HousingState, getters: any): boolean {\n return !getters.isConsumptionInformationKwhEmpty;\n },\n getConsumptionInformationKwhErrors(\n state: HousingState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isConsumptionInformationKwhEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n }\n return errors;\n },\n\n getHousing(state: HousingState): Housing {\n const housing = {\n gridOperatorId: state.gridOperatorId,\n contractedPower: state.contractedPower,\n gsrnEANNumber: state.gsrnEANNumber,\n streetNumber: state.streetNumber,\n streetNumberSuffix: state.streetNumberSuffix,\n street: state.street,\n postCode: state.postCode,\n city: state.city,\n };\n\n if (state.consumptionInformationType === ConsumptionInformationType.WATT) {\n const consumptionInformationKwh =\n state.consumptionInformationKwh === null\n ? state.consumptionInformationKwh\n : Number(state.consumptionInformationKwh);\n\n return {\n ...housing,\n consumptionInformationKwh,\n };\n } else {\n const consumptionInformationEuros =\n state.consumptionInformationEuros === null\n ? state.consumptionInformationEuros\n : Number(state.consumptionInformationEuros);\n\n return {\n ...housing,\n consumptionInformationEuros,\n };\n }\n },\n isHousingStepValid(state: HousingState, getters: any): boolean {\n return (\n getters.isGridOperatorValid &&\n (getters.isGsrnEANNumberValid ||\n [\n ErrorValidationGsrnEan.SERVER_ENERGYCOM_RESPOND_INVALID,\n ErrorValidationGsrnEan.SERVER_ENERGYCOM_NOT_RESPOND,\n ErrorValidationGsrnEan.UNKNOWN_ERROR,\n ].includes(getters.getErrorValidationGsrnEan)) &&\n getters.isContractedPowerValid &&\n getters.isStreetNumberValid &&\n getters.isStreetValid &&\n getters.isPostCodeValid &&\n getters.isCityValid &&\n ((getters.getConsumptionInformationType ===\n ConsumptionInformationType.EURO &&\n getters.isConsumptionInformationEurosValid) ||\n (getters.getConsumptionInformationType ===\n ConsumptionInformationType.WATT &&\n getters.isConsumptionInformationKwhValid))\n );\n },\n};\n\nexport const mutations = {\n setGridOperatorId: (state: HousingState, gridOperatorId: string | null) => {\n state.gridOperatorId = gridOperatorId;\n },\n setContractedPower: (\n state: HousingState,\n contractedPower: ContractedPower\n ) => {\n state.contractedPower = contractedPower;\n },\n setGsrnEANNumber: (state: HousingState, gsrnEANNumber: string) => {\n state.gsrnEANNumber = gsrnEANNumber;\n },\n setStreetNumber: (state: HousingState, streetNumber: string) => {\n state.streetNumber = streetNumber;\n },\n setStreetNumberSuffix: (\n state: HousingState,\n streetNumberSuffix: StreetNumberSuffix\n ) => {\n state.streetNumberSuffix = streetNumberSuffix;\n },\n setStreet: (state: HousingState, street: string) => {\n state.street = street;\n },\n setPostCode: (state: HousingState, postCode: string) => {\n state.postCode = postCode;\n },\n setCity: (state: HousingState, city: string) => {\n state.city = city;\n },\n setConsumptionInformationType(\n state: HousingState,\n consumptionInformationType: ConsumptionInformationType\n ) {\n state.consumptionInformationType = consumptionInformationType;\n },\n setConsumptionInformationEuros(\n state: HousingState,\n consumptionInformationEuros: string\n ) {\n state.consumptionInformationEuros = consumptionInformationEuros;\n },\n setConsumptionInformationKwh(\n state: HousingState,\n consumptionInformationKwh: string\n ) {\n state.consumptionInformationKwh = consumptionInformationKwh;\n },\n setLoadingValidationGsrnEan(\n state: HousingState,\n loadingValidationGsrnEan: boolean\n ) {\n state.loadingValidationGsrnEan = loadingValidationGsrnEan;\n },\n setErrorValidationGsrnEan(\n state: HousingState,\n errorValidationGsrnEan: ErrorValidationGsrnEan | null\n ) {\n state.errorValidationGsrnEan = errorValidationGsrnEan;\n },\n clearErrorValidationGsrnEan(state: HousingState) {\n state.errorValidationGsrnEan = null;\n },\n setSuccessValidationGsrnEan(\n state: HousingState,\n successValidationGsrnEan: boolean\n ) {\n state.successValidationGsrnEan = successValidationGsrnEan;\n },\n};\n\nexport const actions = {\n setHousing: (context: any, housing: GetHousingQuery) => {\n context.commit(\"setGridOperatorId\", housing.gridOperatorId);\n context.commit(\"setContractedPower\", housing.contractedPower);\n context.commit(\"setGsrnEANNumber\", housing.gsrnEANNumber);\n context.commit(\"setStreetNumber\", housing.streetNumber);\n context.commit(\"setStreetNumberSuffix\", housing.streetNumberSuffix);\n context.commit(\"setStreet\", housing.street);\n context.commit(\"setPostCode\", housing.postCode);\n context.commit(\"setCity\", housing.city);\n context.commit(\"setSuccessValidationGsrnEan\", true);\n\n if (housing.consumptionInformationKwh) {\n context.commit(\n \"setConsumptionInformationKwh\",\n housing.consumptionInformationKwh\n );\n context.commit(\n \"setConsumptionInformationType\",\n ConsumptionInformationType.WATT\n );\n } else {\n context.commit(\n \"setConsumptionInformationEuros\",\n housing.consumptionInformationEuros\n );\n context.commit(\n \"setConsumptionInformationType\",\n ConsumptionInformationType.EURO\n );\n }\n },\n checkGsrnEan: (context: any, gsrnEanNumber: string) => {\n if (!context.state.loadingValidationGsrnEan) {\n context.commit(\"setLoadingValidationGsrnEan\", true);\n context.commit(\"setErrorValidationGsrnEan\", null);\n context.commit(\"setGsrnEANNumber\", gsrnEanNumber);\n apiGsrnEanValidation\n .validateGsrnEan(gsrnEanNumber, context.getters.getGridOperatorEnum)\n .then(() => {\n context.commit(\"setSuccessValidationGsrnEan\", true);\n })\n .catch((response: ApiErrorResponse) => {\n if (!response || !response.status) {\n context.commit(\n \"setErrorValidationGsrnEan\",\n ErrorValidationGsrnEan.UNKNOWN_ERROR\n );\n return;\n }\n\n if (response.status === 400) {\n context.commit(\n \"setErrorValidationGsrnEan\",\n ErrorValidationGsrnEan.FORMAT_INVALID\n );\n return;\n }\n\n if (response.status === 404) {\n context.commit(\n \"setErrorValidationGsrnEan\",\n ErrorValidationGsrnEan.GSRNEAN_NOTFOUND\n );\n return;\n }\n\n if (response.status === 502) {\n context.commit(\n \"setErrorValidationGsrnEan\",\n ErrorValidationGsrnEan.SERVER_ENERGYCOM_RESPOND_INVALID\n );\n return;\n }\n\n if (response.status === 503) {\n context.commit(\n \"setErrorValidationGsrnEan\",\n ErrorValidationGsrnEan.SERVER_ENERGYCOM_NOT_RESPOND\n );\n return;\n }\n\n context.commit(\n \"setErrorValidationGsrnEan\",\n ErrorValidationGsrnEan.UNKNOWN_ERROR\n );\n return;\n })\n .finally(() => {\n context.commit(\"setLoadingValidationGsrnEan\", false);\n });\n }\n },\n};\n\nconst housing = {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n\nexport default housing;\n","export interface OfferState {\n batteryPlansLoading: boolean;\n batteryPlansError: string | null;\n batteryPlans: BatteryPlan[];\n productTypes: ProductType[];\n productType: ProductType;\n batteryCapacity: BatteryCapacity | null;\n}\n\nexport interface GetOfferQuery {\n batteryCapacity: BatteryCapacity;\n productType: ProductType;\n}\n\nexport interface Offer {\n batteryCapacity: BatteryCapacity | null;\n productType: ProductType;\n}\n\nexport interface BatteryPlan {\n capacity: BatteryCapacity;\n price: number;\n}\n\nexport enum ProductType {\n GREEN100 = \"GREEN100\",\n}\n\nexport enum BatteryCapacity {\n HUNDRED = 100,\n TWO_HUNDRED = 200,\n THREE_HUNDRED = 300,\n SIX_HUNDRED = 600,\n NINE_HUNDRED = 900,\n TWELVE_HUNDRED = 1200,\n EIGHTEEN_HUNDRED = 1800,\n}\n","import { ProductType } from \"@/store/subscription/offer/type\";\n\nexport const PRODUCT_TYPES: ProductType[] = [ProductType.GREEN100];\n","import { BatteryPlan } from \"@/store/subscription/offer/type\";\nimport { httpService } from \"@/api\";\n\nconst getBatteryPlans = (): Promise => {\n const defaultTenant = \"MYL\";\n const tenant = process.env.VUE_APP_TENANT || defaultTenant;\n return httpService.get(\n `${process.env.VUE_APP_API_ENERGY_SUBSCRIPTION}/batteryPlans?tenant=${tenant}`\n );\n};\n\nexport default {\n getBatteryPlans,\n};\n","import {\n BatteryCapacity,\n BatteryPlan,\n GetOfferQuery,\n Offer,\n OfferState,\n ProductType,\n} from \"@/store/subscription/offer/type\";\nimport { PRODUCT_TYPES } from \"@/store/subscription/offer/constant\";\n\nimport apiBatteryPlan from \"@/api/batteryPlan\";\nimport { AxiosResponse } from \"axios\";\n\nconst state: OfferState = {\n batteryPlans: [],\n batteryPlansLoading: false,\n batteryPlansError: null,\n batteryCapacity: null,\n productTypes: PRODUCT_TYPES,\n productType: ProductType.GREEN100,\n};\n\nconst getters = {\n getProductTypes(state: OfferState): ProductType[] {\n return state.productTypes;\n },\n getBatteryPlans(state: OfferState): BatteryPlan[] {\n return state.batteryPlans;\n },\n getBatteryPlansLoading(state: OfferState): boolean {\n return state.batteryPlansLoading;\n },\n getBatteryPlansError(state: OfferState): string | null {\n return state.batteryPlansError;\n },\n getProductType(state: OfferState): ProductType | null {\n return state.productType;\n },\n getBatteryCapacity(state: OfferState): BatteryCapacity | null {\n return state.batteryCapacity;\n },\n isOfferStepValid(state: OfferState): boolean {\n return !!state.productType && !!state.batteryCapacity;\n },\n getOffer(state: OfferState): Offer {\n return {\n productType: state.productType,\n batteryCapacity: state.batteryCapacity,\n };\n },\n};\n\nconst mutations = {\n setGetBatteryPlansRequest(state: OfferState) {\n state.batteryPlansError = null;\n state.batteryPlansLoading = true;\n },\n setGetBatteryPlansSuccess(state: OfferState, batteryPlans: BatteryPlan[]) {\n state.batteryPlansError = null;\n state.batteryPlans = batteryPlans;\n state.batteryPlansLoading = false;\n },\n setGetBatteryPlansFailure(state: OfferState, errorMessage: string) {\n state.batteryPlansError = errorMessage;\n state.batteryPlans = [];\n state.batteryPlansLoading = false;\n },\n setProductType(state: OfferState, productType: ProductType) {\n state.productType = productType;\n },\n setBatteryCapacity(state: OfferState, batteryCapacity: BatteryCapacity) {\n state.batteryCapacity = batteryCapacity;\n },\n};\n\nconst actions = {\n getBatteryPlans: (context: any) => {\n context.commit(\"setGetBatteryPlansRequest\");\n\n const getBatteryPlansSuccess = (batteryPlans: BatteryPlan[]) => {\n context.commit(\"setGetBatteryPlansSuccess\", batteryPlans);\n };\n const getBatteryPlansFailure = (error: AxiosResponse) => {\n const errorMessage = error.data?.title || error.statusText;\n context.commit(\"setGetBatteryPlansFailure\", errorMessage);\n };\n\n apiBatteryPlan\n .getBatteryPlans()\n .then(getBatteryPlansSuccess)\n .catch(getBatteryPlansFailure);\n },\n setOffer: (context: any, offer: GetOfferQuery) => {\n context.commit(\"setProductType\", offer.productType);\n context.commit(\"setBatteryCapacity\", offer.batteryCapacity);\n },\n};\n\nconst offer = {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n\nexport default offer;\n","export interface BillingState extends Billing {\n paymentType: PaymentType | null;\n paymentTypes: PaymentType[];\n}\n\nexport interface GetBillingQuery {\n paymentType: PaymentType;\n}\n\nexport interface Billing {\n paymentType: PaymentType | null;\n}\n\nexport enum PaymentType {\n CLASSIC = \"CLASSIC\",\n REAL_TIME = \"REAL_TIME\",\n}\n","import { PaymentType } from \"@/store/subscription/billing/type\";\n\nexport const PAYMENT_TYPES: PaymentType[] = [\n PaymentType.CLASSIC,\n PaymentType.REAL_TIME,\n];\n","import {\n Billing,\n BillingState,\n GetBillingQuery,\n PaymentType,\n} from \"@/store/subscription/billing/type\";\nimport { PAYMENT_TYPES } from \"@/store/subscription/billing/constant\";\n\nconst state: BillingState = {\n paymentType: null,\n paymentTypes: PAYMENT_TYPES,\n};\n\nconst getters = {\n getPaymentType(state: BillingState): PaymentType | null {\n return state.paymentType;\n },\n getPaymentTypes(state: BillingState): PaymentType[] {\n return state.paymentTypes;\n },\n isBillingStepValid(state: BillingState): boolean {\n return !!state.paymentType;\n },\n getBilling(state: BillingState): Billing {\n return {\n paymentType: state.paymentType,\n };\n },\n};\n\nconst mutations = {\n setPaymentType(state: BillingState, paymentType: PaymentType) {\n state.paymentType = paymentType;\n },\n};\n\nconst actions = {\n setBilling: (context: any, billing: GetBillingQuery) => {\n context.commit(\"setPaymentType\", billing.paymentType);\n },\n};\n\nconst billing = {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n\nexport default billing;\n","export const mod97 = (string: string): number => {\n let checksum: string = string.slice(0, 2);\n let fragment;\n for (let offset = 2; offset < string.length; offset += 7) {\n fragment = checksum + string.substring(offset, offset + 7);\n checksum = String(parseInt(fragment, 10) % 97);\n }\n return parseInt(checksum);\n};\n","import {\n BankDetails,\n BankDetailsState,\n BillingAddress,\n GetBankDetailsQuery,\n} from \"@/store/subscription/bankDetails/type\";\nimport { stringValidators } from \"@/store/subscription/validators\";\nimport {\n DEFAULT_EMPTY_BILLING_ADDRESS,\n MAX_LENGTH_HOLDER_FAMILY_NAME,\n MAX_LENGTH_HOLDER_FIRST_NAME,\n} from \"@/store/subscription/bankDetails/constant\";\nimport { StreetNumberSuffix } from \"@/store/subscription/housing/type\";\nimport { MAX_LENGTH_POST_CODE } from \"@/store/subscription/housing/constants\";\nimport i18n from \"@/i18n\";\nimport { TranslateResult } from \"vue-i18n\";\nimport { mod97 } from \"./helpers\";\n\nconst state: BankDetailsState = {\n holderFirstName: \"\",\n holderFamilyName: \"\",\n holderCompanyName: \"\",\n isBillingAddressSameAsPhysical: true,\n billingAddress: DEFAULT_EMPTY_BILLING_ADDRESS,\n iban: \"\",\n bic: \"\",\n};\n\nconst getters = {\n getHolderFirstName(state: BankDetailsState): string {\n return state.holderFirstName;\n },\n isHolderFirstNameEmpty(state: BankDetailsState): boolean {\n return stringValidators.isEmpty(state.holderFirstName);\n },\n isHolderFirstNameBadFormat(state: BankDetailsState): boolean {\n return !stringValidators.isName(\n state.holderFirstName,\n MAX_LENGTH_HOLDER_FIRST_NAME\n );\n },\n isHolderFirstNameValid(state: BankDetailsState, getters: any): boolean {\n const isEmpty = getters.isHolderFirstNameEmpty;\n const isBadFormat = getters.isHolderFirstNameBadFormat;\n return !isEmpty && !isBadFormat;\n },\n getHolderFirstNameErrors(\n state: BankDetailsState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isHolderFirstNameEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n } else if (getters.isHolderFirstNameBadFormat) {\n errors.push(i18n.t(\"common.formError.fieldHasBadFormat\"));\n }\n return errors;\n },\n\n getHolderFamilyName(state: BankDetailsState): string {\n return state.holderFamilyName;\n },\n isHolderFamilyNameEmpty(state: BankDetailsState): boolean {\n return stringValidators.isEmpty(state.holderFamilyName);\n },\n isHolderFamilyNameBadFormat(state: BankDetailsState): boolean {\n return !stringValidators.isName(\n state.holderFamilyName,\n MAX_LENGTH_HOLDER_FAMILY_NAME\n );\n },\n isHolderFamilyNameValid(state: BankDetailsState, getters: any): boolean {\n const isEmpty = getters.isHolderFamilyNameEmpty;\n const isBadFormat = getters.isHolderFamilyNameBadFormat;\n return !isEmpty && !isBadFormat;\n },\n getHolderFamilyNameErrors(\n state: BankDetailsState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isHolderFamilyNameEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n } else if (getters.isHolderFamilyNameBadFormat) {\n errors.push(i18n.t(\"common.formError.fieldHasBadFormat\"));\n }\n return errors;\n },\n\n getHolderCompanyName(state: BankDetailsState): string {\n return state.holderCompanyName;\n },\n isHolderCompanyNameEmpty(state: BankDetailsState): boolean {\n return stringValidators.isEmpty(state.holderCompanyName);\n },\n isHolderCompanyNameValid(state: BankDetailsState, getters: any): boolean {\n return !getters.isHolderCompanyNameEmpty;\n },\n getHolderCompanyNameErrors(\n state: BankDetailsState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isHolderCompanyNameEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n }\n return errors;\n },\n\n getIsBillingAddressSameAsPhysical(state: BankDetailsState): boolean {\n return state.isBillingAddressSameAsPhysical;\n },\n\n getStreetNumber(state: BankDetailsState): string {\n return state.billingAddress.streetNumber;\n },\n isStreetNumberBadFormat(state: BankDetailsState): boolean {\n return (\n state.billingAddress.streetNumber === \"0\" ||\n isNaN(Number(state.billingAddress.streetNumber))\n );\n },\n isStreetNumberValid(state: BankDetailsState, getters: any): boolean {\n return !getters.isStreetNumberBadFormat;\n },\n getStreetNumberErrors(\n state: BankDetailsState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isStreetNumberBadFormat) {\n errors.push(i18n.t(\"common.formError.fieldHasBadFormat\"));\n }\n return errors;\n },\n\n getStreetNumberSuffix(state: BankDetailsState): StreetNumberSuffix | null {\n return state.billingAddress.streetNumberSuffix;\n },\n getStreetNumberSuffixes(\n state: BankDetailsState,\n getters: any,\n rootState: any,\n rootGetters: { [x: string]: any }\n ): Array {\n return rootGetters[\"subscription/housing/getStreetNumberSuffixes\"];\n },\n\n getStreet(state: BankDetailsState): string {\n return state.billingAddress.street;\n },\n isStreetEmpty(state: BankDetailsState): boolean {\n return stringValidators.isEmpty(state.billingAddress.street);\n },\n isStreetValid(state: BankDetailsState, getters: any): boolean {\n return !getters.isStreetEmpty;\n },\n getStreetErrors(\n state: BankDetailsState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isStreetEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n }\n return errors;\n },\n\n getPostCode(state: BankDetailsState): string {\n return state.billingAddress.postCode;\n },\n isPostCodeEmpty(state: BankDetailsState): boolean {\n return stringValidators.isEmpty(state.billingAddress.postCode);\n },\n isPostCodeBadFormat(state: BankDetailsState): boolean {\n return !stringValidators.isNumberWithCorrectLength(\n state.billingAddress.postCode,\n MAX_LENGTH_POST_CODE\n );\n },\n isPostCodeValid(state: BankDetailsState, getters: any): boolean {\n return !getters.isPostCodeEmpty && !getters.isPostCodeBadFormat;\n },\n getPostCodeErrors(\n state: BankDetailsState,\n getters: any\n ): Array {\n const errors = [];\n if (getters.isPostCodeEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n } else if (getters.isPostCodeBadFormat) {\n errors.push(i18n.t(\"common.formError.fieldHasBadFormat\"));\n }\n return errors;\n },\n\n getCity(state: BankDetailsState): string {\n return state.billingAddress.city;\n },\n isCityEmpty(state: BankDetailsState): boolean {\n return stringValidators.isEmpty(state.billingAddress.city);\n },\n isCityValid(state: BankDetailsState, getters: any): boolean {\n return !getters.isCityEmpty;\n },\n getCityErrors(state: BankDetailsState, getters: any): Array {\n const errors = [];\n if (getters.isCityEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n }\n return errors;\n },\n\n getBillingAddress(\n state: BankDetailsState,\n getters: any\n ): BillingAddress | null {\n return getters.getIsBillingAddressSameAsPhysical\n ? null\n : state.billingAddress;\n },\n\n getIban(state: BankDetailsState): string {\n return state.iban;\n },\n isIbanEmpty(state: BankDetailsState): boolean {\n return stringValidators.isEmpty(state.iban);\n },\n isNotFrenchIban(state: BankDetailsState): boolean {\n return !stringValidators.isFrenchIban(state.iban);\n },\n cantExist(state: BankDetailsState): boolean {\n const iban = String(state.iban)\n .toUpperCase()\n .replace(/[^A-Z0-9]/g, \"\"); // keep only alphanumeric characters\n const code = iban.match(/^([A-Z]{2})(\\d{2})([A-Z\\d]+)$/); // match and capture (1) the country code, (2) the check digits, and (3) the rest\n\n // check syntax and length\n if (!code) {\n return false;\n }\n // rearrange country code and check digits, and convert chars to ints\n const digits = (code[3] + code[1] + code[2]).replace(/[A-Z]/g, (letter) => {\n return String(letter.charCodeAt(0) - 55);\n });\n\n return mod97(digits) !== 1;\n },\n isIbanValid(state: BankDetailsState, getters: any): boolean {\n const isEmpty = getters.isIbanEmpty;\n const isNotFrenchIban = getters.isNotFrenchIban;\n const cantExist = getters.cantExist;\n return !isEmpty && !isNotFrenchIban && !cantExist;\n },\n getIbanErrors(state: BankDetailsState, getters: any): Array {\n const errors = [];\n if (getters.isIbanEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n } else if (getters.isNotFrenchIban) {\n errors.push(i18n.t(\"common.formError.iBanHasBadFormat\"));\n } else if (getters.cantExist) {\n errors.push(i18n.t(\"common.formError.iBanIsNotValid\"));\n }\n return errors;\n },\n\n getBic(state: BankDetailsState): string {\n return state.bic;\n },\n isBicEmpty(state: BankDetailsState): boolean {\n return stringValidators.isEmpty(state.bic);\n },\n isBicBadFormat(state: BankDetailsState): boolean {\n return !stringValidators.isBic(state.bic);\n },\n isBicValid(state: BankDetailsState, getters: any): boolean {\n const isEmpty = getters.isBicEmpty;\n const isBadFormat = getters.isBicBadFormat;\n return !isEmpty && !isBadFormat;\n },\n getBicErrors(state: BankDetailsState, getters: any): Array {\n const errors = [];\n if (getters.isBicEmpty) {\n errors.push(i18n.t(\"common.formError.fieldMustBeInquired\"));\n } else if (getters.isBicBadFormat) {\n errors.push(i18n.t(\"common.formError.fieldHasBadFormat\"));\n }\n return errors;\n },\n\n getBankDetails(\n state: BankDetailsState,\n getters: any,\n rootState: any,\n rootGetters: any\n ): BankDetails {\n const isIndividualClient =\n rootGetters[\"subscription/contactInformation/isIndividualClient\"];\n const bankDetails: BankDetails = {\n iban: state.iban.replace(/\\s/g, \"\"),\n bic: state.bic,\n };\n\n if (isIndividualClient) {\n bankDetails.holderFirstName = state.holderFirstName;\n bankDetails.holderFamilyName = state.holderFamilyName;\n } else {\n bankDetails.holderCompanyName = state.holderCompanyName;\n }\n return bankDetails;\n },\n\n isBankDetailsStepValid(\n state: BankDetailsState,\n getters: any,\n rootState: any,\n rootGetters: any\n ): boolean {\n const isIndividualClient =\n rootGetters[\"subscription/contactInformation/isIndividualClient\"];\n\n const checkIfAccountInformationValid = (): boolean => {\n return getters.isBicValid && getters.isIbanValid;\n };\n\n const checkIfHolderInformationValid = (): boolean => {\n if (isIndividualClient) {\n return (\n getters.isHolderFirstNameValid && getters.isHolderFamilyNameValid\n );\n }\n return getters.isHolderCompanyNameValid;\n };\n\n const checkIfAddressInformationValid = (): boolean => {\n if (getters.getIsBillingAddressSameAsPhysical) {\n return true;\n }\n return (\n getters.isStreetNumberValid &&\n getters.isStreetValid &&\n getters.isPostCodeValid &&\n getters.isCityValid\n );\n };\n\n const isBankDetailsStepValid =\n checkIfAccountInformationValid() &&\n checkIfHolderInformationValid() &&\n checkIfAddressInformationValid();\n\n return isBankDetailsStepValid;\n },\n};\n\nconst mutations = {\n setHolderFirstName(state: BankDetailsState, holderFirstName: string) {\n state.holderFirstName = holderFirstName;\n },\n setHolderFamilyName(state: BankDetailsState, holderFamilyName: string) {\n state.holderFamilyName = holderFamilyName;\n },\n setHolderCompanyName(state: BankDetailsState, holderCompanyName: string) {\n state.holderCompanyName = holderCompanyName;\n },\n setIsBillingAddressSameAsPhysical(\n state: BankDetailsState,\n isBillingAddressSameAsPhysical: boolean\n ) {\n state.isBillingAddressSameAsPhysical = isBillingAddressSameAsPhysical;\n },\n setBillingAddress(\n state: BankDetailsState,\n billingAddress: BillingAddress | null\n ) {\n const newBillingAddress = billingAddress\n ? billingAddress\n : DEFAULT_EMPTY_BILLING_ADDRESS;\n\n state.billingAddress = { ...newBillingAddress };\n },\n setStreetNumber: (state: BankDetailsState, streetNumber: string) => {\n state.billingAddress.streetNumber = streetNumber;\n },\n setStreetNumberSuffix: (\n state: BankDetailsState,\n streetNumberSuffix: StreetNumberSuffix\n ) => {\n state.billingAddress.streetNumberSuffix = streetNumberSuffix;\n },\n setStreet: (state: BankDetailsState, street: string) => {\n state.billingAddress.street = street;\n },\n setPostCode: (state: BankDetailsState, postCode: string) => {\n state.billingAddress.postCode = postCode;\n },\n setCity: (state: BankDetailsState, city: string) => {\n state.billingAddress.city = city;\n },\n setIban(state: BankDetailsState, iban: string) {\n state.iban = iban;\n },\n setBic(state: BankDetailsState, bic: string) {\n state.bic = bic;\n },\n};\n\nconst actions = {\n setBankDetails: (context: any, bankDetails: GetBankDetailsQuery) => {\n context.commit(\"setHolderFirstName\", bankDetails.holderFirstName);\n context.commit(\"setHolderFamilyName\", bankDetails.holderFamilyName);\n context.commit(\"setHolderCompanyName\", bankDetails.holderCompanyName);\n context.commit(\"setIban\", bankDetails.iban);\n context.commit(\"setBic\", bankDetails.bic);\n },\n setIsBillingAddressSameAsPhysical: (\n context: any,\n isBillingAddressSameAsPhysical: boolean\n ) => {\n context.commit(\n \"setIsBillingAddressSameAsPhysical\",\n isBillingAddressSameAsPhysical\n );\n context.commit(\"setBillingAddress\", DEFAULT_EMPTY_BILLING_ADDRESS);\n },\n setBillingAddress: (context: any, billingAddress: BillingAddress | null) => {\n const isBillingAddressSameAsPhysical = billingAddress === null;\n\n context.commit(\n \"setIsBillingAddressSameAsPhysical\",\n isBillingAddressSameAsPhysical\n );\n context.commit(\"setBillingAddress\", billingAddress);\n },\n};\n\nconst billing = {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n\nexport default billing;\n","import { httpService } from \"@/api\";\nimport { YousignSignatureUrl } from \"@/store/subscription/contractSigning/type\";\n\ninterface StartContractSigningProcess {\n subscriptionId: string;\n termsAndConditionsAccepted: boolean;\n solarPanelsInstalled: boolean;\n}\n\nconst startContractSigningProcess = ({\n subscriptionId,\n termsAndConditionsAccepted,\n solarPanelsInstalled,\n}: StartContractSigningProcess): Promise => {\n return httpService.post(\n `${process.env.VUE_APP_API_ENERGY_SUBSCRIPTION}/subscriptions/${subscriptionId}/contractSigningProcess`,\n { termsAndConditionsAccepted, solarPanelsInstalled }\n );\n};\n\nconst getContractSigningProgress = (\n subscriptionId: string\n): Promise => {\n return httpService.get(\n `${process.env.VUE_APP_API_ENERGY_SUBSCRIPTION}/subscriptions/${subscriptionId}/contractSigningProgress`\n );\n};\n\nexport default {\n startContractSigningProcess,\n getContractSigningProgress,\n};\n","import { TypeNotification } from \"@/store/notification/type\";\nimport store from \"@/store\";\nimport VueI18n from \"vue-i18n\";\n\nconst sendNotification = (\n message: VueI18n.TranslateResult | string,\n type: TypeNotification,\n duration?: number\n) => {\n store.dispatch(\n \"openNotification\",\n {\n message,\n type,\n duration,\n },\n { root: true }\n );\n};\n\nconst sendError = (\n message: VueI18n.TranslateResult | string,\n duration?: number\n) => sendNotification(message, TypeNotification.IsDanger, duration);\n\nconst sendSuccess = (message: VueI18n.TranslateResult | string) =>\n sendNotification(message, TypeNotification.IsSuccess);\n\nconst sendWarning = (message: VueI18n.TranslateResult | string) =>\n sendNotification(message, TypeNotification.IsWarning);\n\nexport default {\n sendError,\n sendSuccess,\n sendWarning,\n};\n","export const CONTRACT_SIGNING_PROGRESS_POLL_INTERVAL = 5000;\n","import {\n ContractSigning,\n ContractSigningState,\n ContractSigningStatus,\n GetContractSigningQuery,\n YousignSignatureUrl,\n} from \"@/store/subscription/contractSigning/type\";\nimport contractSigningApi from \"@/api/contractSigning\";\nimport notification from \"@/store/notification/helper\";\nimport i18n from \"@/i18n\";\nimport { CONTRACT_SIGNING_PROGRESS_POLL_INTERVAL } from \"@/store/subscription/contractSigning/constant\";\nimport VueI18n from \"vue-i18n\";\nimport { stringValidators } from \"@/store/subscription/validators\";\nimport { RouteName } from \"@/store/navigation/type\";\nimport router from \"@/router\";\n\nconst state: ContractSigningState = {\n requestId: 0,\n\n contractSigningProcessLoading: false,\n\n contractSigningProgressLoading: false,\n contractSigningProgressPolling: null,\n\n contractSigningStatus: null,\n contractSigningStatusMessage: null,\n\n yousignSignatureUrl: null,\n contractName: null,\n activationDate: null,\n signatureDate: null,\n};\n\nconst getters = {\n getContractSigningStatusMessage(\n state: ContractSigningState\n ): VueI18n.TranslateResult | null {\n return state.contractSigningStatusMessage;\n },\n\n getContractSigningStatus(\n state: ContractSigningState\n ): ContractSigningStatus | null {\n return state.contractSigningStatus;\n },\n getContractName(state: ContractSigningState): string | null {\n return state.contractName;\n },\n\n getContractSigningProcessLoading(state: ContractSigningState): boolean {\n return state.contractSigningProcessLoading;\n },\n\n getContractSigningProgressLoading(state: ContractSigningState): boolean {\n return state.contractSigningProgressLoading;\n },\n\n isYousignSignatureUrlValid(state: ContractSigningState): boolean {\n return (\n typeof state.yousignSignatureUrl === \"string\" &&\n !stringValidators.isEmpty(state.yousignSignatureUrl)\n );\n },\n getYousignIframeUrl(\n state: ContractSigningState,\n getters: any\n ): string | undefined {\n return getters.isYousignSignatureUrlValid\n ? `${state.yousignSignatureUrl}`\n : undefined;\n },\n getContractSigning(state: ContractSigningState): ContractSigning {\n const {\n yousignSignatureUrl,\n contractName,\n contractSigningStatus,\n activationDate,\n signatureDate,\n } = state;\n\n return {\n yousignSignatureUrl,\n contractName,\n contractSigningStatus,\n activationDate,\n signatureDate,\n };\n },\n};\n\nconst mutations = {\n setStartContractSigningProcessRequest(\n state: ContractSigningState,\n requestId: number\n ) {\n state.requestId = requestId;\n\n state.contractSigningProcessLoading = true;\n state.contractSigningStatusMessage = i18n.t(\n \"contractSigning.statusMessages.setStartContractSigningProcessRequest\"\n );\n\n state.contractSigningProgressPolling = null;\n },\n setStartContractSigningProcessSuccess(state: ContractSigningState) {\n state.contractSigningProcessLoading = false;\n state.contractSigningStatusMessage = i18n.t(\n \"contractSigning.statusMessages.setStartContractSigningProcessSuccess\"\n );\n },\n setStartContractSigningProcessFailure(state: ContractSigningState) {\n state.contractSigningProcessLoading = false;\n state.contractSigningStatusMessage = null;\n },\n\n setGetContractSigningProgressRequest(state: ContractSigningState) {\n state.yousignSignatureUrl = null;\n\n state.contractSigningProgressLoading = true;\n state.contractSigningStatusMessage = i18n.t(\n \"contractSigning.statusMessages.setGetContractSigningProgressRequest\"\n );\n },\n setGetContractSigningProgressSuccess(\n state: ContractSigningState,\n yousignSignatureUrl: string\n ) {\n state.yousignSignatureUrl = yousignSignatureUrl;\n\n state.contractSigningProgressLoading = false;\n state.contractSigningStatusMessage = i18n.t(\n \"contractSigning.statusMessages.setGetContractSigningProgressSuccess\"\n );\n },\n setGetContractSigningProgressFailure(state: ContractSigningState) {\n state.yousignSignatureUrl = null;\n\n state.contractSigningProgressLoading = false;\n state.contractSigningStatusMessage = null;\n },\n setGetContractSigningProgressPollingStart(\n state: ContractSigningState,\n pollingFunction: () => void\n ) {\n state.contractSigningProgressPolling = setTimeout(\n pollingFunction,\n CONTRACT_SIGNING_PROGRESS_POLL_INTERVAL\n );\n },\n setGetContractSigningProgressPollingStop(state: ContractSigningState) {\n if (state.contractSigningProgressPolling) {\n clearTimeout(state.contractSigningProgressPolling);\n }\n state.contractSigningProgressPolling = null;\n state.requestId = 0;\n },\n\n setContractSigningState(\n state: ContractSigningState,\n contractSignatureProcess: GetContractSigningQuery\n ) {\n state.yousignSignatureUrl =\n contractSignatureProcess.yousignSignatureUrl || null;\n state.contractSigningStatus = contractSignatureProcess.state || null;\n state.contractName = contractSignatureProcess.contractName || null;\n state.activationDate = contractSignatureProcess.activationDate;\n state.signatureDate = contractSignatureProcess.signatureDate;\n },\n};\n\nconst actions = {\n showErrorAndRedirectToContractPage(\n context: any,\n errorMessage: string | VueI18n.TranslateResult\n ) {\n notification.sendError(errorMessage);\n router.push({ name: RouteName.Contract });\n },\n startContractSigningProcess(context: any, requestId: number) {\n const subscriptionId: string =\n context.rootGetters[\"subscription/getSubscriptionId\"];\n const termsAndConditionsAccepted =\n context.rootGetters[\"subscription/contract/getTermsAndConditions\"];\n const solarPanelsInstalled =\n context.rootGetters[\"subscription/contract/getSolarPanelsInstalled\"];\n\n context.commit(\"setStartContractSigningProcessRequest\", requestId);\n\n const startContractSigningProcessSuccess = () => {\n context.commit(\"setStartContractSigningProcessSuccess\");\n context.dispatch(\"getContractSigningProgress\", requestId);\n };\n const startContractSigningProcessFailure = () => {\n const errorMessage = i18n.t(\n \"contractSigning.failures.setStartContractSigningProcessFailure\"\n );\n\n context.dispatch(\"stopContractSigningProgressPolling\");\n context.commit(\"setStartContractSigningProcessFailure\", errorMessage);\n context.dispatch(\"showErrorAndRedirectToContractPage\", errorMessage);\n };\n\n return contractSigningApi\n .startContractSigningProcess({\n subscriptionId,\n termsAndConditionsAccepted,\n solarPanelsInstalled,\n })\n .then(() => {\n if (context.state.requestId === requestId) {\n startContractSigningProcessSuccess();\n }\n })\n .catch(() => {\n if (context.state.requestId === requestId) {\n startContractSigningProcessFailure();\n }\n });\n },\n getContractSigningProgress(context: any, requestId: number) {\n const subscriptionId: string =\n context.rootGetters[\"subscription/getSubscriptionId\"];\n\n context.commit(\"setGetContractSigningProgressRequest\");\n\n const getContractSigningProgressSuccess = (yousignSignatureUrl: string) => {\n context.dispatch(\"stopContractSigningProgressPolling\");\n context.commit(\n \"setGetContractSigningProgressSuccess\",\n yousignSignatureUrl\n );\n };\n\n const getContractSigningProgressFailure = () => {\n const errorMessage = i18n.t(\n \"contractSigning.failures.setGetContractSigningProgressFailure\"\n );\n\n context.dispatch(\"stopContractSigningProgressPolling\");\n context.commit(\"setGetContractSigningProgressFailure\", errorMessage);\n context.dispatch(\"showErrorAndRedirectToContractPage\", errorMessage);\n };\n\n const getContractSigningProgress = () => {\n contractSigningApi\n .getContractSigningProgress(subscriptionId)\n .then((yousignSignatureUrl?: YousignSignatureUrl) => {\n if (context.state.requestId === requestId) {\n if (yousignSignatureUrl) {\n getContractSigningProgressSuccess(yousignSignatureUrl);\n } else {\n context.commit(\n \"setGetContractSigningProgressPollingStart\",\n getContractSigningProgress\n );\n }\n }\n })\n .catch(() => {\n if (context.state.requestId === requestId) {\n getContractSigningProgressFailure();\n }\n });\n };\n\n context.commit(\n \"setGetContractSigningProgressPollingStart\",\n getContractSigningProgress\n );\n },\n stopContractSigningProgressPolling(context: any) {\n context.commit(\"setGetContractSigningProgressPollingStop\");\n },\n setContractSigning(\n context: any,\n contractSignatureProcess: GetContractSigningQuery\n ) {\n context.commit(\"setContractSigningState\", contractSignatureProcess);\n\n switch (contractSignatureProcess.state) {\n case ContractSigningStatus.SIGNED:\n case ContractSigningStatus.PENDING_ACTIVATION:\n case ContractSigningStatus.ACTIVATION_REQUESTED:\n case ContractSigningStatus.GRID_EXTRACTION_ACTIVATED:\n case ContractSigningStatus.SIGNED_CONTRACT_DOWNLOAD_FAILED:\n case ContractSigningStatus.SIGNED_CONTRACT_PERSISTENCE_FAILED:\n case ContractSigningStatus.CONFIRMATION_EMAIL_FAILED: {\n if (router.currentRoute.name !== RouteName.ContractActivation) {\n const subscriptionId: string =\n context.rootGetters[\"subscription/getSubscriptionId\"];\n\n return router.replace({\n name: RouteName.ContractActivation,\n query: { id: subscriptionId },\n });\n }\n break;\n }\n case ContractSigningStatus.PENDING:\n case ContractSigningStatus.REFUSED:\n if (router.currentRoute.name !== RouteName.Contract) {\n return router.replace({ name: RouteName.Contract });\n }\n break;\n default: {\n const isSubscriptionValidForSign =\n context.rootGetters[\"subscription/isSubscriptionValidForSign\"];\n if (\n isSubscriptionValidForSign &&\n router.currentRoute.name !== RouteName.Contract\n ) {\n return router.replace({ name: RouteName.Contract });\n }\n break;\n }\n }\n },\n};\n\nconst contractSigning = {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n\nexport default contractSigning;\n","import { httpService } from \"@/api\";\n\nconst activateContract = (subscriptionId: string): Promise => {\n return httpService.post(\n `${process.env.VUE_APP_API_ENERGY_SUBSCRIPTION}/Contracts/${subscriptionId}/activation`\n );\n};\n\nconst downloadContract = (subscriptionId: string): Promise => {\n return httpService.get(\n `${process.env.VUE_APP_API_ENERGY_SUBSCRIPTION}/Contracts/${subscriptionId}`,\n { responseType: \"blob\" }\n );\n};\n\nexport default {\n activateContract,\n downloadContract,\n};\n","export interface ContractActivationState {\n activateContractLoading: boolean;\n downloadContractLoading: boolean;\n}\n\nexport enum ContractActivationError {\n SUBSCRIPTION_NOT_FOUND = \"SUBSCRIPTION_NOT_FOUND\",\n RETRACTION_PERIOD_HAS_NOT_ENDED = \"RETRACTION_PERIOD_HAS_NOT_ENDED\",\n COMMUNICATION_FAILURE = \"COMMUNICATION_FAILURE\",\n}\n","import { ApiErrorResponse } from \"@/api/type\";\nimport i18n from \"@/i18n\";\nimport { ContractActivationError } from \"@/store/subscription/contractActivation/type\";\n\nexport const getActivateContractErrorMessage = (\n errorResponse: ApiErrorResponse\n) => {\n const errorCode =\n errorResponse &&\n errorResponse.errors &&\n errorResponse.errors[0] &&\n errorResponse.errors[0].code;\n const isHandledError = Object.values(ContractActivationError).includes(\n errorCode as ContractActivationError\n );\n if (isHandledError) {\n return i18n.t(`contractActivation.errors['${errorCode}']`);\n }\n return i18n.t(\"contractActivation.errors.UNKNOWN_ERROR\");\n};\n","import { ContractActivationState } from \"@/store/subscription/contractActivation/type\";\nimport apiContractActivation from \"@/api/contractActivation\";\nimport i18n from \"@/i18n\";\nimport notification from \"@/store/notification/helper\";\nimport { AxiosResponse } from \"axios\";\nimport { getActivateContractErrorMessage } from \"@/store/subscription/contractActivation/helper\";\nimport { ApiErrorResponse } from \"@/api/type\";\nimport { ContractSigningStatus } from \"@/store/subscription/contractSigning/type\";\nimport store from \"@/store\";\nimport { RouteName } from \"@/store/navigation/type\";\nimport router from \"@/router\";\n\nconst state: ContractActivationState = {\n activateContractLoading: false,\n downloadContractLoading: false,\n};\n\nconst getters = {\n getActivateContractLoading(state: ContractActivationState): boolean {\n return state.activateContractLoading;\n },\n getDownloadContractLoading(state: ContractActivationState): boolean {\n return state.downloadContractLoading;\n },\n canReachContractActivationPage(\n state: ContractActivationState,\n getters: any,\n rootState: any,\n rootGetters: { [x: string]: any }\n ): boolean {\n const isGetSubscriptionError =\n rootGetters[\"subscription/isGetSubscriptionError\"];\n const contractSigningStatus =\n rootGetters[\"subscription/contractSigning/getContractSigningStatus\"];\n const isContractSigned =\n contractSigningStatus === ContractSigningStatus.SIGNED ||\n contractSigningStatus === ContractSigningStatus.PENDING_ACTIVATION ||\n contractSigningStatus === ContractSigningStatus.ACTIVATION_REQUESTED ||\n contractSigningStatus ===\n ContractSigningStatus.GRID_EXTRACTION_ACTIVATED ||\n contractSigningStatus ===\n ContractSigningStatus.CONFIRMATION_EMAIL_FAILED ||\n contractSigningStatus ===\n ContractSigningStatus.SIGNED_CONTRACT_DOWNLOAD_FAILED ||\n contractSigningStatus ===\n ContractSigningStatus.SIGNED_CONTRACT_PERSISTENCE_FAILED;\n\n return !isGetSubscriptionError && isContractSigned;\n },\n};\n\nconst mutations = {\n setActivateContractRequest(state: ContractActivationState) {\n state.activateContractLoading = true;\n },\n setActivateContractSuccess(state: ContractActivationState) {\n state.activateContractLoading = false;\n },\n setActivateContractFailure(state: ContractActivationState) {\n state.activateContractLoading = false;\n },\n setDownloadContractRequest(state: ContractActivationState) {\n state.downloadContractLoading = true;\n },\n setDownloadContractSuccess(state: ContractActivationState) {\n state.downloadContractLoading = false;\n },\n setDownloadContractFailure(state: ContractActivationState) {\n state.downloadContractLoading = false;\n },\n};\n\nconst actions = {\n activateContract: (context: any) => {\n const isActivateContractLoading =\n context.getters.getActivateContractLoading;\n if (!isActivateContractLoading) {\n const subscriptionId: string =\n context.rootGetters[\"subscription/getSubscriptionId\"];\n\n context.commit(\"setActivateContractRequest\");\n\n const activateContractSuccess = () => {\n const successMessage = i18n.t(\n \"contractActivation.successes.setActivateContractSuccess\"\n );\n context.commit(\"setActivateContractSuccess\");\n context.dispatch(\"subscription/getSubscription\", null, { root: true });\n notification.sendSuccess(successMessage);\n };\n const activateContractFailure = (response: AxiosResponse) => {\n const errorResponse: ApiErrorResponse = response.data;\n const errorMessage = getActivateContractErrorMessage(errorResponse);\n\n context.commit(\"setActivateContractFailure\");\n notification.sendError(errorMessage);\n };\n const activateContractAfter = () => {\n context\n .dispatch(\"subscription/getSubscription\", null, { root: true })\n .finally(() => {\n const canReachContractActivationPage =\n store.getters[\n \"subscription/contractActivation/canReachContractActivationPage\"\n ];\n\n if (!canReachContractActivationPage) {\n router.replace({ name: RouteName.Contract });\n }\n });\n };\n\n apiContractActivation\n .activateContract(subscriptionId)\n .then(activateContractSuccess)\n .catch(activateContractFailure)\n .finally(activateContractAfter);\n }\n },\n downloadContract: (context: any) => {\n const isDownloadContractLoading =\n context.getters.getDownloadContractLoading;\n if (!isDownloadContractLoading) {\n const subscriptionId: string =\n context.rootGetters[\"subscription/getSubscriptionId\"];\n\n context.commit(\"setDownloadContractRequest\");\n\n const downloadContractSuccess = (response: Blob) => {\n const fileUrl = window.URL.createObjectURL(new Blob([response]));\n const fileLink = document.createElement(\"a\");\n\n const contractName =\n context.rootGetters[\"subscription/contractSigning/getContractName\"];\n\n const fileName =\n `${i18n.t(\"contractActivation.contractName\", {\n contractName,\n })}` + \".pdf\";\n\n fileLink.href = fileUrl;\n fileLink.setAttribute(\"download\", fileName);\n document.body.appendChild(fileLink);\n fileLink.click();\n\n context.commit(\"setDownloadContractSuccess\");\n };\n const downloadContractFailure = () => {\n const errorMessage = i18n.t(\n \"contractActivation.failures.setDownloadContractFailure\"\n );\n\n context.commit(\"setDownloadContractFailure\");\n notification.sendError(errorMessage);\n };\n\n apiContractActivation\n .downloadContract(subscriptionId)\n .then(downloadContractSuccess)\n .catch(downloadContractFailure);\n }\n },\n};\n\nconst billing = {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n\nexport default billing;\n","import { Housing } from \"@/store/subscription/housing/type\";\nimport VueI18n from \"vue-i18n\";\nimport { BillingAddress } from \"@/store/subscription/bankDetails/type\";\n\nexport const getStringOrDefault = (\n value?: string | number | null | VueI18n.TranslateResult,\n defaultValue = \"-\"\n): string => {\n return typeof value !== \"undefined\" && value !== null && value !== \"\"\n ? String(value)\n : defaultValue;\n};\n\nexport const getShortPhysicalAddress = (physicalAddress: Housing): string => {\n const usedAddressFields: Array = [\n \"street\",\n \"postCode\",\n \"city\",\n ];\n const isAddressInvalid = usedAddressFields.some(\n (addressField) =>\n typeof physicalAddress[addressField] === \"undefined\" ||\n physicalAddress[addressField] === null ||\n physicalAddress[addressField] === \"\"\n );\n if (isAddressInvalid) {\n return \"-\";\n }\n const streetNumberSuffix = physicalAddress.streetNumberSuffix || \"\";\n return `${physicalAddress.streetNumber} ${streetNumberSuffix} ${physicalAddress.street} ${physicalAddress.postCode} ${physicalAddress.city}`;\n};\n\nexport const getShortBillingAddress = (\n billingAddress: BillingAddress\n): string => {\n const usedAddressFields: Array = [\n \"street\",\n \"postCode\",\n \"city\",\n ];\n const isAddressInvalid = usedAddressFields.some(\n (addressField) =>\n typeof billingAddress[addressField] === \"undefined\" ||\n billingAddress[addressField] === null ||\n billingAddress[addressField] === \"\"\n );\n if (isAddressInvalid) {\n return \"-\";\n }\n const streetNumberSuffix = billingAddress.streetNumberSuffix || \"\";\n return `${billingAddress.streetNumber} ${streetNumberSuffix} ${billingAddress.street} ${billingAddress.postCode} ${billingAddress.city}`;\n};\n","import {\n ContractClientInformation,\n ContractOfferInformation,\n ContractPaymentInformation,\n ContractSigningInformation,\n ContractState,\n ContractSummary,\n} from \"@/store/subscription/contract/type\";\nimport { Housing, ContractedPower } from \"@/store/subscription/housing/type\";\nimport { Offer, BatteryCapacity } from \"@/store/subscription/offer/type\";\nimport { Billing } from \"@/store/subscription/billing/type\";\nimport i18n from \"@/i18n\";\nimport {\n getShortBillingAddress,\n getShortPhysicalAddress,\n getStringOrDefault,\n} from \"@/store/subscription/contract/helper\";\nimport { BillingAddress } from \"@/store/subscription/bankDetails/type\";\nimport { ContractSigning } from \"@/store/subscription/contractSigning/type\";\n\nconst state: ContractState = {\n termsAndConditions: false,\n solarPanelsInstalled: false,\n};\n\nconst getters = {\n getTermsAndConditions(state: ContractState): boolean {\n return state.termsAndConditions;\n },\n getSolarPanelsInstalled(state: ContractState): boolean {\n return state.solarPanelsInstalled;\n },\n isContractStepValid(\n state: ContractState,\n getters: any,\n rootState: any,\n rootGetters: { [x: string]: any }\n ): boolean {\n return (\n getters.getTermsAndConditions &&\n getters.getSolarPanelsInstalled &&\n rootGetters[\"subscription/emailValidation/isValidatedEmail\"]\n );\n },\n getContractSummary(\n state: ContractState,\n getters: any,\n rootState: any,\n rootGetters: { [x: string]: any }\n ): ContractSummary {\n const contactInformation =\n rootGetters[\"subscription/contactInformation/getContactInformation\"];\n const physicalAddress: Housing =\n rootGetters[\"subscription/housing/getHousing\"];\n const billingAddress: BillingAddress | null =\n rootGetters[\"subscription/bankDetails/getBillingAddress\"];\n const productInformation: Offer & Billing = {\n ...rootGetters[\"subscription/offer/getOffer\"],\n ...rootGetters[\"subscription/billing/getBilling\"],\n };\n const contractSigning: ContractSigning =\n rootGetters[\"subscription/contractSigning/getContractSigning\"];\n\n const shortBillingAddress =\n billingAddress === null\n ? getShortPhysicalAddress(physicalAddress)\n : getShortBillingAddress(billingAddress);\n\n const gridOperatorName =\n rootGetters[\"subscription/housing/getGridOperatorName\"];\n\n const clientInformation: ContractClientInformation = {\n firstName: getStringOrDefault(contactInformation.firstName),\n familyName: getStringOrDefault(contactInformation.familyName),\n companyName: getStringOrDefault(contactInformation.companyName),\n email: getStringOrDefault(contactInformation.email),\n physicalAddress: getShortPhysicalAddress(physicalAddress),\n billingAddress: shortBillingAddress,\n pdlNumber: getStringOrDefault(physicalAddress.gsrnEANNumber),\n gridOperator: getStringOrDefault(gridOperatorName),\n };\n\n const selectedOfferType = productInformation.productType\n ? i18n.t(`contract.offerTypes['${productInformation.productType}']`)\n : null;\n const selectedContractedPower = physicalAddress.contractedPower\n ? `${\n isNaN(physicalAddress.contractedPower)\n ? ContractedPower[physicalAddress.contractedPower]\n : physicalAddress.contractedPower\n } kVa`\n : null;\n const selectedBatteryCapacity = productInformation.batteryCapacity\n ? `${\n isNaN(productInformation.batteryCapacity)\n ? BatteryCapacity[productInformation.batteryCapacity]\n : productInformation.batteryCapacity\n } kWh`\n : null;\n const offerInformation: ContractOfferInformation = {\n offerType: getStringOrDefault(selectedOfferType),\n tariffType: i18n.t(\"contract.selectedTariffType\"),\n contractedPower: getStringOrDefault(selectedContractedPower),\n batteryCapacity: getStringOrDefault(selectedBatteryCapacity),\n };\n\n const selectedBillingType = productInformation.paymentType\n ? i18n.t(`billing.paymentType['${productInformation.paymentType}'].name`)\n : null;\n const paymentInformation: ContractPaymentInformation = {\n billingType: getStringOrDefault(selectedBillingType),\n contractDeliveryType: i18n.t(\"contract.selectedContractDeliveryType\"),\n paymentType: i18n.t(\"contract.selectedPaymentType\"),\n };\n\n const contractSigningInformation: ContractSigningInformation = {\n yousignSignatureUrl: contractSigning.yousignSignatureUrl,\n contractName: contractSigning.contractName,\n contractSigningStatus: contractSigning.contractSigningStatus,\n activationDate: contractSigning.activationDate,\n signatureDate: contractSigning.signatureDate,\n };\n\n return {\n clientInformation,\n offerInformation,\n paymentInformation,\n contractSigningInformation,\n };\n },\n};\n\nconst mutations = {\n setTermsAndConditions(state: ContractState, termsAndConditions: boolean) {\n state.termsAndConditions = termsAndConditions;\n },\n setSolarPanelsInstalled(state: ContractState, solarPanelsInstalled: boolean) {\n state.solarPanelsInstalled = solarPanelsInstalled;\n },\n};\n\nconst actions = {\n setContract: (\n context: any,\n payload: {\n termsAndConditions: boolean;\n solarPanelsInstalled: boolean;\n }\n ) => {\n context.commit(\"setTermsAndConditions\", payload.termsAndConditions);\n context.commit(\"setSolarPanelsInstalled\", payload.solarPanelsInstalled);\n },\n};\n\nconst contract = {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n\nexport default contract;\n","import { httpService } from \"@/api\";\nimport { SaveSubscriptionQuery } from \"@/store/subscription/type\";\n\nconst getSubscription = (subscriptionId: string): Promise => {\n return httpService.get(\n `${process.env.VUE_APP_API_ENERGY_SUBSCRIPTION}/subscriptions/${subscriptionId}`\n );\n};\n\nconst createSubscription = (\n subscription: SaveSubscriptionQuery\n): Promise => {\n return httpService.post(\n `${process.env.VUE_APP_API_ENERGY_SUBSCRIPTION}/subscriptions`,\n subscription\n );\n};\n\nconst updateSubscription = (\n subscriptionId: string,\n subscription: SaveSubscriptionQuery\n): Promise => {\n return httpService.put(\n `${process.env.VUE_APP_API_ENERGY_SUBSCRIPTION}/subscriptions/${subscriptionId}`,\n subscription\n );\n};\n\nconst updateSubscriptionEmail = (\n subscriptionId: string,\n email: string\n): Promise => {\n return httpService.patch(\n `${process.env.VUE_APP_API_ENERGY_SUBSCRIPTION}/subscriptions/${subscriptionId}/email`,\n { email }\n );\n};\n\nconst emailValidationProcess = (\n subscriptionId: string,\n isRefresh = false\n): Promise => {\n return httpService.post(\n `${process.env.VUE_APP_API_ENERGY_SUBSCRIPTION}/subscriptions/${subscriptionId}/emailValidationProcess?refresh=${isRefresh}`\n );\n};\n\nexport default {\n getSubscription,\n createSubscription,\n updateSubscription,\n updateSubscriptionEmail,\n emailValidationProcess,\n};\n","import { httpService } from \"@/api\";\n\nconst validateEmail = (token: string) => {\n return httpService.post(\n `${process.env.VUE_APP_API_ENERGY_SUBSCRIPTION}/emailValidation/${token}`,\n null,\n {\n headers: {\n Authorization: process.env.VUE_APP_VALIDATION_EMAIL_TOKEN,\n },\n }\n );\n};\n\nexport default {\n validateEmail,\n};\n","import { EmailValidationState } from \"@/store/subscription/emailValidation/type\";\nimport apiSubscription from \"@/api/subscription\";\nimport apiEmailValidation from \"@/api/emailValidation\";\nimport notification from \"@/store/notification/helper\";\nimport i18n from \"@/i18n\";\nimport { AxiosResponse } from \"axios\";\nimport { ApiError } from \"@/api/type\";\n\nconst state: EmailValidationState = {\n sendEmailValidationLoading: false,\n sendEmailValidationError: null,\n sendEmailValidationForUpdateEmailLoading: false,\n sendEmailValidationForUpdateEmailError: null,\n reSendEmailValidationLoading: false,\n reSendEmailValidationError: null,\n reSendEmailValidationSuccess: false,\n validatedEmailLoading: false,\n validatedEmailError: null,\n emailIsValidated: false,\n};\n\nconst getters = {\n getSendEmailValidationError() {\n return state.reSendEmailValidationError;\n },\n isSendEmailValidationLoading() {\n return state.sendEmailValidationLoading;\n },\n getSendEmailValidationForUpdateEmailError() {\n return state.sendEmailValidationForUpdateEmailError;\n },\n isSendEmailValidationForUpdateEmailLoading() {\n return state.sendEmailValidationForUpdateEmailLoading;\n },\n getReSendEmailValidationError(): ApiError[] | null {\n return state.reSendEmailValidationError;\n },\n getReSendEmailValidationSuccess() {\n return state.reSendEmailValidationSuccess;\n },\n isValidatedEmail() {\n return state.emailIsValidated;\n },\n};\n\nconst mutations = {\n setSendEmailValidationRequest(state: EmailValidationState) {\n state.sendEmailValidationLoading = true;\n state.sendEmailValidationError = null;\n },\n setSendEmailValidationSuccess(state: EmailValidationState) {\n state.sendEmailValidationLoading = false;\n },\n setSendEmailValidationFailure(\n state: EmailValidationState,\n error: Array\n ) {\n state.sendEmailValidationLoading = false;\n state.sendEmailValidationError = error;\n },\n setSendEmailValidationForUpdateEmailRequest(state: EmailValidationState) {\n state.sendEmailValidationForUpdateEmailLoading = true;\n state.sendEmailValidationForUpdateEmailError = null;\n },\n setSendEmailValidationForUpdateEmailSuccess(state: EmailValidationState) {\n state.sendEmailValidationForUpdateEmailLoading = false;\n },\n setSendEmailValidationForUpdateEmailFailure(\n state: EmailValidationState,\n error: string\n ) {\n state.sendEmailValidationForUpdateEmailLoading = false;\n state.sendEmailValidationForUpdateEmailError = error;\n },\n setResendEmailValidationRequest(state: EmailValidationState) {\n state.reSendEmailValidationLoading = true;\n state.reSendEmailValidationSuccess = false;\n state.reSendEmailValidationError = null;\n },\n setResendEmailValidationSuccess(state: EmailValidationState) {\n state.reSendEmailValidationLoading = false;\n state.reSendEmailValidationSuccess = true;\n },\n setResendEmailValidationFailure(\n state: EmailValidationState,\n error: ApiError[]\n ) {\n state.reSendEmailValidationLoading = false;\n state.reSendEmailValidationError = error;\n },\n setValidateEmailRequest(state: EmailValidationState) {\n state.validatedEmailLoading = true;\n state.validatedEmailError = null;\n state.emailIsValidated = false;\n },\n setValidateEmailSuccess(state: EmailValidationState) {\n state.validatedEmailLoading = false;\n state.emailIsValidated = true;\n },\n setValidateEmailFailure(state: EmailValidationState, error: string) {\n state.validatedEmailLoading = false;\n state.validatedEmailError = error;\n },\n};\n\nconst actions = {\n sendValidationEmailForUpdateEmail: (context: any) => {\n const subscriptionId =\n context.rootGetters[\"subscription/getSubscriptionId\"];\n\n context.commit(\"setSendEmailValidationForUpdateEmailRequest\");\n\n return apiSubscription\n .emailValidationProcess(subscriptionId)\n .then(() => {\n context.commit(\"setSendEmailValidationForUpdateEmailSuccess\");\n notification.sendSuccess(i18n.t(\"email.successes.sendingEmail\"));\n return Promise.resolve();\n })\n .catch((error) => {\n context.commit(\"setSendEmailValidationForUpdateEmailFailure\", error);\n notification.sendError(i18n.t(\"email.errors.sendingEmail\"));\n return Promise.reject();\n });\n },\n sendValidationEmail: (context: any, subscriptionId: string) => {\n context.commit(\"setSendEmailValidationRequest\");\n\n return apiSubscription\n .emailValidationProcess(subscriptionId)\n .then(() => {\n context.commit(\"setSendEmailValidationSuccess\");\n notification.sendSuccess(i18n.t(\"email.successes.sendingEmail\"));\n return Promise.resolve();\n })\n .catch((response: AxiosResponse) => {\n const errors = response.data.errors as Array;\n context.commit(\"setSendEmailValidationFailure\", errors);\n\n if (\n errors.some(\n (error) =>\n error.code === \"EMAIL_VALIDATION_PROCESS_ALREADY_INITIATED\"\n )\n ) {\n notification.sendWarning(\n i18n.t(\"email.errors.EMAIL_VALIDATION_PROCESS_ALREADY_INITIATED\")\n );\n return Promise.resolve();\n }\n\n if (errors.some((error) => error.code === \"EMAIL_ALREADY_VALIDATED\")) {\n notification.sendError(\n i18n.t(\"email.errors.EMAIL_ALREADY_VALIDATED\"),\n 0\n );\n } else {\n notification.sendError(i18n.t(\"email.errors.sendingEmail\"));\n }\n\n return Promise.reject();\n });\n },\n reSendValidationEmail: (context: any) => {\n const subscriptionId =\n context.rootGetters[\"subscription/getSubscriptionId\"];\n\n context.commit(\"setResendEmailValidationRequest\");\n\n return apiSubscription\n .emailValidationProcess(subscriptionId, true)\n .then(() => {\n context.commit(\"setResendEmailValidationSuccess\");\n return Promise.resolve();\n })\n .catch((response: AxiosResponse) => {\n const errors = response.data.errors as Array;\n context.commit(\"setResendEmailValidationFailure\", errors);\n\n return Promise.reject(errors);\n });\n },\n validateEmail: (context: any, token: string) => {\n context.commit(\"setValidateEmailRequest\");\n\n return apiEmailValidation\n .validateEmail(token)\n .then((subscriptionId) => {\n context.commit(\"setValidateEmailSuccess\");\n return Promise.resolve(subscriptionId);\n })\n .catch((error) => {\n context.commit(\"setValidateEmailFailure\", error);\n notification.sendError(i18n.t(\"email.errors.validateEmail\"));\n return Promise.reject();\n });\n },\n};\n\nconst emailValidation = {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n\nexport default emailValidation;\n","import { httpService } from \"@/api\";\nimport { GridOperator } from \"@/store/subscription/housing/type\";\n\nconst getGridOperators = (): Promise => {\n return httpService.get(\n `${process.env.VUE_APP_API_ENERGY_SUBSCRIPTION}/GridOperators`\n );\n};\n\nexport default {\n getGridOperators,\n};\n","import { GridOperator } from \"@/store/subscription/housing/type\";\nimport { GridOperatorState } from \"@/store/subscription/gridOperator/type\";\nimport { AxiosResponse } from \"axios\";\nimport apiGridOperator from \"@/api/gridOperator\";\n\nconst state: GridOperatorState = {\n gridOperators: [],\n gridOperatorsLoading: false,\n gridOperatorsError: null,\n};\n\nconst getters = {\n getGridOperators(state: GridOperatorState): Array {\n return state.gridOperators;\n },\n getGridOperatorsLoading(state: GridOperatorState): boolean {\n return state.gridOperatorsLoading;\n },\n getGridOperatorsError(state: GridOperatorState): string | null {\n return state.gridOperatorsError;\n },\n};\n\nconst mutations = {\n setGetGridOperatorsRequest(state: GridOperatorState) {\n state.gridOperatorsError = null;\n state.gridOperatorsLoading = true;\n },\n setGetGridOperatorsSuccess(\n state: GridOperatorState,\n gridOperators: GridOperator[]\n ) {\n state.gridOperators = gridOperators;\n state.gridOperatorsError = null;\n state.gridOperatorsLoading = false;\n },\n setGetGridOperatorsFailure(state: GridOperatorState, errorMessage: string) {\n state.gridOperators = [];\n state.gridOperatorsError = errorMessage;\n state.gridOperatorsLoading = false;\n },\n};\n\nconst actions = {\n getGridOperators: (context: any) => {\n context.commit(\"setGetGridOperatorsRequest\");\n\n const getGridOperatorsSuccess = (gridOperators: GridOperator[]) => {\n context.commit(\"setGetGridOperatorsSuccess\", gridOperators);\n return Promise.resolve(gridOperators);\n };\n\n const getGridOperatorsFailure = (error: AxiosResponse) => {\n const errorMessage = error.data?.title || error.statusText;\n context.commit(\"setGetGridOperatorsFailure\", errorMessage);\n return Promise.reject(errorMessage);\n };\n\n return apiGridOperator\n .getGridOperators()\n .then(getGridOperatorsSuccess)\n .catch(getGridOperatorsFailure);\n },\n};\n\nconst gridOperator = {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n\nexport default gridOperator;\n","import contactInformation from \"@/store/subscription/contactInformation\";\nimport housing from \"@/store/subscription/housing\";\nimport offer from \"@/store/subscription/offer\";\nimport billing from \"@/store/subscription/billing\";\nimport bankDetails from \"@/store/subscription/bankDetails\";\nimport contractSigning from \"@/store/subscription/contractSigning\";\nimport contractActivation from \"@/store/subscription/contractActivation\";\nimport contract from \"@/store/subscription/contract\";\nimport emailValidation from \"@/store/subscription/emailValidation\";\nimport gridOperator from \"@/store/subscription/gridOperator\";\n\nimport apiSubscription from \"@/api/subscription\";\nimport {\n GetSubscriptionQuery,\n SaveSubscriptionQuery,\n SubscriptionState,\n} from \"@/store/subscription/type\";\nimport i18n from \"@/i18n\";\nimport notification from \"@/store/notification/helper\";\nimport { ApiError } from \"@/api/type\";\nimport { BillingAddress } from \"@/store/subscription/bankDetails/type\";\n\nexport const state: SubscriptionState = {\n getSubscriptionLoading: false,\n getSubscriptionError: null,\n saveSubscriptionLoading: false,\n saveSubscriptionError: null,\n updateSubscriptionEmailLoading: false,\n updateSubscriptionEmailError: null,\n subscriptionId: null,\n};\n\nexport const getters = {\n getSubscriptionId(state: SubscriptionState) {\n return state.subscriptionId;\n },\n isGetSubscriptionLoading() {\n return state.getSubscriptionLoading;\n },\n isSaveSubscriptionLoading() {\n return state.saveSubscriptionLoading;\n },\n getUpdateSubscriptionEmailError() {\n return state.updateSubscriptionEmailError;\n },\n isGetSubscriptionError(): boolean {\n return !!state.getSubscriptionError;\n },\n isUpdateSubscriptionEmailLoading() {\n return state.updateSubscriptionEmailLoading;\n },\n isRegisteredSubscription(state: SubscriptionState) {\n return !!state.subscriptionId;\n },\n isSubscriptionValidForSave: (\n state: SubscriptionState,\n getters: any,\n rootState: any,\n rootGetters: { [x: string]: any }\n ) => {\n return (\n rootGetters[\"subscription/bankDetails/isBankDetailsStepValid\"] &&\n rootGetters[\"subscription/housing/isHousingStepValid\"] &&\n rootGetters[\n \"subscription/contactInformation/isContactInformationStepValid\"\n ] &&\n rootGetters[\"subscription/offer/isOfferStepValid\"] &&\n rootGetters[\"subscription/billing/isBillingStepValid\"]\n );\n },\n isSubscriptionValidForSign: (\n state: SubscriptionState,\n getters: any,\n rootState: any,\n rootGetters: { [x: string]: any }\n ) => {\n return (\n rootGetters[\"subscription/bankDetails/isBankDetailsStepValid\"] &&\n rootGetters[\"subscription/housing/isHousingStepValid\"] &&\n rootGetters[\n \"subscription/contactInformation/isContactInformationStepValid\"\n ] &&\n rootGetters[\"subscription/offer/isOfferStepValid\"] &&\n rootGetters[\"subscription/billing/isBillingStepValid\"] &&\n rootGetters[\"subscription/contract/isContractStepValid\"]\n );\n },\n};\n\nexport const mutations = {\n setSubscriptionId(state: SubscriptionState, subscriptionId: string) {\n state.subscriptionId = subscriptionId;\n },\n // Get Subscription\n setGetSubscriptionRequest(state: SubscriptionState) {\n state.getSubscriptionLoading = true;\n state.getSubscriptionError = null;\n },\n setGetSubscriptionSuccess(state: SubscriptionState) {\n state.getSubscriptionLoading = false;\n },\n setGetSubscriptionFailure(state: SubscriptionState, error: string) {\n state.getSubscriptionLoading = false;\n state.getSubscriptionError = error;\n },\n // Save Subscription\n setSaveSubscriptionRequest(state: SubscriptionState) {\n state.saveSubscriptionLoading = true;\n state.saveSubscriptionError = null;\n },\n setSaveSubscriptionSuccess(state: SubscriptionState) {\n state.saveSubscriptionLoading = false;\n },\n setSaveSubscriptionFailure(state: SubscriptionState, errors: ApiError[]) {\n state.saveSubscriptionLoading = false;\n state.saveSubscriptionError = errors;\n },\n setUpdateSubscriptionEmailRequest(state: SubscriptionState) {\n state.updateSubscriptionEmailLoading = true;\n state.updateSubscriptionEmailError = null;\n },\n setUpdateSubscriptionEmailSuccess(state: SubscriptionState) {\n state.updateSubscriptionEmailLoading = false;\n },\n setUpdateSubscriptionEmailFailure(\n state: SubscriptionState,\n errors: ApiError[]\n ) {\n state.updateSubscriptionEmailLoading = false;\n state.updateSubscriptionEmailError = errors;\n },\n};\n\nexport const actions = {\n getSubscription: (context: any) => {\n context.commit(\"setGetSubscriptionRequest\");\n return apiSubscription\n .getSubscription(context.state.subscriptionId)\n .then((result: GetSubscriptionQuery) => {\n context.commit(\"setGetSubscriptionSuccess\");\n context.dispatch(\n \"contactInformation/setContactInformation\",\n result.contactInformation\n );\n context.dispatch(\n \"contactInformation/setCosigner\",\n result.contactInformation.cosigner\n );\n context.dispatch(\"housing/setHousing\", result.physicalAddress);\n context.dispatch(\"offer/setOffer\", result.productInformation);\n context.dispatch(\"billing/setBilling\", result.productInformation);\n context.dispatch(\"contract/setContract\", {\n termsAndConditions: result.termsAndConditions,\n solarPanelsInstalled: result.solarPanelsInstalled,\n });\n context.dispatch(\n \"bankDetails/setBankDetails\",\n result.paymentInformation\n );\n context.dispatch(\n \"bankDetails/setBillingAddress\",\n result.billingAddress\n );\n context.dispatch(\"contractSigning/setContractSigning\", {\n state: result.contractSignatureProcess.state,\n contractName: result.contractSignatureProcess.contractName,\n yousignSignatureUrl: null,\n signatureDate: result.contractSignatureProcess.signatureDate,\n });\n })\n .catch((error) => {\n context.commit(\"setGetSubscriptionFailure\", error);\n notification.sendError(\n i18n.t(\"subscription.errors.errorLoadSubscription\")\n );\n });\n },\n saveSubscription: (context: any) => {\n context.commit(\"setSaveSubscriptionRequest\");\n\n const contactInformation =\n context.rootGetters[\n \"subscription/contactInformation/getContactInformation\"\n ];\n const physicalAddress =\n context.rootGetters[\"subscription/housing/getHousing\"];\n const billingAddress: BillingAddress | null =\n context.rootGetters[\"subscription/bankDetails/getBillingAddress\"];\n\n const productInformation = {\n ...context.rootGetters[\"subscription/offer/getOffer\"],\n ...context.rootGetters[\"subscription/billing/getBilling\"],\n };\n const paymentInformation =\n context.rootGetters[\"subscription/bankDetails/getBankDetails\"];\n const termsAndConditions =\n context.rootGetters[\"subscription/contract/getTermsAndConditions\"];\n const solarPanelsInstalled =\n context.rootGetters[\"subscription/contract/getSolarPanelsInstalled\"];\n const subscription: SaveSubscriptionQuery = {\n contactInformation,\n physicalAddress,\n billingAddress,\n productInformation,\n paymentInformation,\n termsAndConditions,\n solarPanelsInstalled,\n };\n\n const saveSubscription = context.state.subscriptionId\n ? apiSubscription.updateSubscription(\n context.state.subscriptionId,\n subscription\n )\n : apiSubscription.createSubscription(subscription);\n\n return saveSubscription\n .then((subscriptionId) => {\n context.commit(\"setSaveSubscriptionSuccess\");\n\n const successMessage = context.state.subscriptionId\n ? i18n.t(\"contract.successes.updateSubscriptionSuccess\")\n : i18n.t(\"contract.successes.setSaveSubscriptionSuccess\");\n notification.sendSuccess(successMessage);\n\n if (!context.state.subscriptionId) {\n context.commit(\"setSubscriptionId\", subscriptionId);\n }\n return Promise.resolve(context.getters.getSubscriptionId);\n })\n .catch((response) => {\n let errorMessage;\n const errors = response.data.errors as Array;\n if (\n errors.some(\n (error) =>\n error.code === \"CONTRACT_ALREADY_SIGNED\" &&\n error.metadata?.Field === \"PhysicalAddress.GsrnEANNumber\"\n )\n ) {\n errorMessage = i18n.t(\n \"contract.failures.contractAlreadyExistWithThisGsrnEANNumber\"\n );\n } else {\n errorMessage = context.state.subscriptionId\n ? i18n.t(\"contract.failures.updateSubscriptionFailure\")\n : i18n.t(\"contract.failures.setSaveSubscriptionFailure\");\n }\n\n context.commit(\"setSaveSubscriptionFailure\", errors);\n\n notification.sendError(errorMessage);\n return Promise.reject(errorMessage);\n });\n },\n updateSubscriptionEmail: (context: any, newEmail: string) => {\n context.commit(\"setUpdateSubscriptionEmailRequest\");\n return apiSubscription\n .updateSubscriptionEmail(context.state.subscriptionId, newEmail)\n .then(() => {\n context.commit(\"setUpdateSubscriptionEmailSuccess\");\n context.commit(\"contactInformation/setEmail\", newEmail);\n return Promise.resolve();\n })\n .catch((response) => {\n const errors = response.data.errors as Array;\n context.commit(\"setUpdateSubscriptionEmailFailure\", errors);\n return Promise.reject();\n });\n },\n};\n\nconst subscription = {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n modules: {\n contactInformation,\n housing,\n offer,\n billing,\n bankDetails,\n contract,\n emailValidation,\n contractSigning,\n contractActivation,\n gridOperator,\n },\n};\n\nexport default subscription;\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\nimport navigation from \"@/store/navigation\";\nimport notification from \"@/store/notification\";\nimport subscription from \"@/store/subscription\";\nimport createPersistedState from \"vuex-persistedstate\";\n\nVue.use(Vuex);\n\nexport default new Vuex.Store({\n strict: process.env.NODE_ENV !== \"production\",\n modules: {\n navigation,\n notification,\n subscription,\n },\n plugins: [createPersistedState({ storage: window.sessionStorage })],\n});\n","import Vue from \"vue\";\nimport VueRouter, { RouteConfig, Route, NavigationGuardNext } from \"vue-router\";\nimport mainLayout from \"../views/layout/formSubscriptionLayout/formSubscriptionLayoutPage.vue\";\nimport store from \"@/store\";\nimport i18n from \"@/i18n\";\nimport { RouteName } from \"@/store/navigation/type\";\n\nVue.use(VueRouter);\n\nconst registerSubscriptionId = (to: Route) => {\n if (to.query.id) {\n store.commit(\"subscription/setSubscriptionId\", to.query.id);\n }\n};\n\nconst validateEmailToken = (to: Route, next: NavigationGuardNext) => {\n store\n .dispatch(\"subscription/emailValidation/validateEmail\", to.query.token)\n .then((subscriptionId) => {\n store.commit(\"subscription/setSubscriptionId\", subscriptionId);\n next({ name: RouteName.Contract });\n })\n .catch(() => {\n next();\n });\n};\n\nconst rootRedirection = (to: Route, from: Route, next: NavigationGuardNext) => {\n registerSubscriptionId(to);\n if (to.query.token) {\n validateEmailToken(to, next);\n } else {\n next();\n }\n};\n\nconst routes: Array = [\n {\n path: \"*\",\n redirect: { name: RouteName.Offer },\n },\n {\n path: \"/\",\n component: mainLayout,\n name: RouteName.Root,\n redirect: { name: RouteName.Offer },\n beforeEnter: (to, from, next) => {\n rootRedirection(to, from, next);\n },\n children: [\n {\n path: \"contactInformation\",\n name: RouteName.ContactInformation,\n component: () =>\n import(\n /* webpackChunkName: \"view\" */ \"../views/contactInformation/contactInformationPage.vue\"\n ),\n beforeEnter: (to, from, next) => {\n store.commit(\n \"navigation/setMainHeaderTitle\",\n i18n.t(\"contactInformation.yourContactDetails\")\n );\n next();\n },\n },\n {\n path: \"housing\",\n name: RouteName.Housing,\n component: () =>\n import(\n /* webpackChunkName: \"page\" */ \"../views/housing/housingPage.vue\"\n ),\n beforeEnter: (to, from, next) => {\n store.commit(\n \"navigation/setMainHeaderTitle\",\n i18n.t(\"housing.yourAccommodation\")\n );\n next();\n },\n },\n {\n path: \"offer\",\n name: RouteName.Offer,\n component: () =>\n import(/* webpackChunkName: \"page\" */ \"../views/offer/offerPage.vue\"),\n beforeEnter: (to, from, next) => {\n store.commit(\n \"navigation/setMainHeaderTitle\",\n i18n.t(\"offer.yourOffer\")\n );\n next();\n },\n },\n {\n path: \"billing\",\n name: RouteName.Billing,\n component: () =>\n import(\n /* webpackChunkName: \"page\" */ \"../views/billing/billingPage.vue\"\n ),\n beforeEnter: (to, from, next) => {\n store.commit(\n \"navigation/setMainHeaderTitle\",\n i18n.t(\"billing.yourBilling\")\n );\n next();\n },\n },\n {\n path: \"bankDetails\",\n name: RouteName.BankDetails,\n component: () =>\n import(\n /* webpackChunkName: \"page\" */ \"../views/bankDetails/bankDetailsPage.vue\"\n ),\n beforeEnter: (to, from, next) => {\n store.commit(\n \"navigation/setMainHeaderTitle\",\n i18n.t(\"bankDetails.yourBankDetails\")\n );\n next();\n },\n },\n {\n path: \"contract\",\n name: RouteName.Contract,\n component: () =>\n import(\n /* webpackChunkName: \"page\" */ \"../views/contract/contractPage.vue\"\n ),\n beforeEnter: (to, from, next) => {\n store.commit(\n \"navigation/setMainHeaderTitle\",\n i18n.t(\"contract.yourContract\")\n );\n next();\n },\n },\n ],\n },\n {\n path: \"/email/emailValidationSent\",\n name: RouteName.EmailValidationSent,\n component: () =>\n import(\n /* webpackChunkName: \"page\" */ \"../views/email/emailValidationSentPage.vue\"\n ),\n beforeEnter: (to, from, next) => {\n store.commit(\n \"navigation/setMainHeaderTitle\",\n i18n.t(\"email.validationSend\")\n );\n next();\n },\n },\n {\n path: \"/email/edit\",\n name: RouteName.EmailEdit,\n component: () =>\n import(/* webpackChunkName: \"page\" */ \"../views/email/editEmailPage.vue\"),\n beforeEnter: (to, from, next) => {\n store.commit(\n \"navigation/setMainHeaderTitle\",\n i18n.t(\"email.emailModification\")\n );\n next();\n },\n },\n {\n path: \"/contractSigning\",\n name: RouteName.ContractSigning,\n component: () =>\n import(\n /* webpackChunkName: \"page\" */ \"../views/contractSigning/contractSigningPage.vue\"\n ),\n beforeEnter: (to, from, next) => {\n store.commit(\n \"navigation/setMainHeaderTitle\",\n i18n.t(\"contractSigning.yourContractSigning\")\n );\n next();\n },\n },\n {\n path: \"/contractActivation\",\n name: RouteName.ContractActivation,\n component: () =>\n import(\n /* webpackChunkName: \"page\" */ \"../views/contractActivation/contractActivationPage.vue\"\n ),\n beforeEnter: (to, from, next) => {\n const fromYousign = to.query.fromYousign === \"true\";\n\n let canReachContractActivationPage =\n store.getters[\n \"subscription/contractActivation/canReachContractActivationPage\"\n ];\n\n store.commit(\n \"navigation/setMainHeaderTitle\",\n i18n.t(\"contractActivation.yourContractActivation\")\n );\n\n const redirectToRoot = () => {\n console.warn(\"Unauthorized\");\n next({ name: RouteName.Root });\n };\n\n if (canReachContractActivationPage || fromYousign) {\n next();\n } else {\n if (to.query.id) {\n store.commit(\"subscription/setSubscriptionId\", to.query.id);\n store.dispatch(\"subscription/getSubscription\").finally(() => {\n canReachContractActivationPage =\n store.getters[\n \"subscription/contractActivation/canReachContractActivationPage\"\n ];\n if (canReachContractActivationPage) {\n next();\n } else {\n redirectToRoot();\n }\n });\n } else {\n redirectToRoot();\n }\n }\n },\n },\n];\n\nconst router = new VueRouter({ routes });\n\nrouter.beforeEach((to, from, next) => {\n const subscriptionId = store.getters[\"subscription/getSubscriptionId\"];\n\n switch (to.name) {\n case RouteName.ContactInformation:\n case RouteName.Housing:\n case RouteName.Offer:\n case RouteName.Billing:\n case RouteName.BankDetails:\n case RouteName.Contract:\n store.commit(\"navigation/setCurrentStep\", to.name);\n break;\n }\n\n switch (from.name) {\n case RouteName.ContactInformation:\n case RouteName.Housing:\n case RouteName.Offer:\n case RouteName.Billing:\n case RouteName.BankDetails:\n case RouteName.Contract:\n store.commit(\"navigation/setVisitedStep\", from.name);\n break;\n }\n\n switch (to.name) {\n case RouteName.EmailEdit:\n case RouteName.EmailValidationSent:\n case RouteName.ContractSigning:\n if (!subscriptionId) {\n console.warn(\"Unauthorized\");\n next({ name: RouteName.Root });\n } else {\n next();\n }\n break;\n default:\n next();\n }\n});\n\nexport default router;\n","import Vue from \"vue\";\nimport Buefy from \"buefy\";\nimport App from \"./App.vue\";\nimport \"./registerServiceWorker\";\nimport router from \"./router\";\nimport store from \"./store\";\nimport i18n from \"./i18n\";\nimport moment from \"moment\";\nimport VueGtm from \"@gtm-support/vue2-gtm\";\nimport * as FullStory from \"@fullstory/browser\";\nimport VueTheMask from \"vue-the-mask\";\n\nfunction loadTenantStyle() {\n if (process.env.VUE_APP_TENANT === \"DOM\") {\n require(\"./assets/styles/domuneo/all.scss\");\n } else {\n require(\"./assets/styles/mylight/all.scss\");\n }\n}\n\nfunction initMoment() {\n moment.locale(\"fr\");\n}\n\nfunction initBuefy(Vue: any) {\n //TODO Load only component used on project\n Vue.use(Buefy);\n}\n\nfunction initVueMask(Vue: any) {\n Vue.use(VueTheMask);\n}\n\nconst initSnippet = (Vue: any) => {\n try {\n Vue.use(VueGtm, {\n id: process?.env?.VUE_APP_GTM_ID,\n vueRouter: router,\n });\n FullStory.init({ orgId: process?.env?.VUE_APP_FULLSTORY_ID });\n Vue.prototype.$FullStory = FullStory;\n } catch (error) {\n console.error(error);\n }\n};\n\nexport const initialize = () => {\n initMoment();\n loadTenantStyle();\n initBuefy(Vue);\n initSnippet(Vue);\n initVueMask(Vue);\n\n Vue.config.productionTip = false;\n\n new Vue({\n router,\n store,\n i18n,\n render: (h) => h(App),\n }).$mount(\"#app\");\n};\n","import { initialize } from \"./startup\";\n\ninitialize();\n","export enum RouteName {\n None = \"\",\n Root = \"Root\",\n ContactInformation = \"ContactInformation\",\n Housing = \"Housing\",\n Offer = \"Offer\",\n Billing = \"Billing\",\n BankDetails = \"BankDetails\",\n Contract = \"Contract\",\n ContractSigning = \"ContractSigning\",\n ContractActivation = \"ContractActivation\",\n EmailValidationSent = \"EmailValidationSent\",\n EmailEdit = \"EmailEdit\",\n}\n\nexport const SubscriptionFormSteps = {\n [RouteName.ContactInformation]: RouteName.ContactInformation,\n [RouteName.Housing]: RouteName.Housing,\n [RouteName.Offer]: RouteName.Offer,\n [RouteName.Billing]: RouteName.Billing,\n [RouteName.BankDetails]: RouteName.BankDetails,\n [RouteName.Contract]: RouteName.Contract,\n} as const;\n\nexport interface NavigationState {\n mainHeaderTitle: string;\n currentStep: RouteName | null;\n visitedSteps: VisitedSteps;\n}\n\nexport interface VisitedSteps {\n [RouteName.ContactInformation]?: boolean;\n [RouteName.Housing]?: boolean;\n [RouteName.Offer]?: boolean;\n [RouteName.Billing]?: boolean;\n [RouteName.BankDetails]?: boolean;\n [RouteName.Contract]?: boolean;\n}\n\nexport type SubscriptionStep = keyof VisitedSteps;\n","import { BillingAddress } from \"@/store/subscription/bankDetails/type\";\n\nexport const MAX_LENGTH_HOLDER_FIRST_NAME = 50;\nexport const MAX_LENGTH_HOLDER_FAMILY_NAME = 50;\nexport const MAX_LENGTH_HOLDER_COMPANY_NAME = 50;\nexport const MAX_LENGTH_IBAN = 33; // 27 + 5 spaces\nexport const MAX_LENGTH_BIC = 11;\nexport const DEFAULT_EMPTY_BILLING_ADDRESS: BillingAddress = {\n streetNumber: \"\",\n streetNumberSuffix: null,\n street: \"\",\n postCode: \"\",\n city: \"\",\n};\n","import { Cosigner } from \"./type\";\n\nexport const MAX_LENGTH_FIRST_NAME = 50;\nexport const MAX_LENGTH_FAMILY_NAME = 50;\nexport const MAX_LENGTH_EMAIL = 100;\nexport const MAX_LENGTH_MOBILE_PHONE = 10;\nexport const MAX_LENGTH_COMPANY_IDENTIFICATION_NUMBER = 14;\nexport const DEFAULT_EMPTY_COSIGNER: Cosigner = {\n prefix: null,\n familyName: \"\",\n firstName: \"\",\n};\n","export enum Prefix {\n MR = \"MR\",\n MRS = \"MRS\",\n}\n\nexport enum Tenant {\n DOM = \"DOM\",\n MYL = \"MYL\",\n}\n\nexport enum ClientType {\n RES = \"RES\",\n PRO = \"PRO\",\n}\n\nexport interface ContactInformationState {\n companyName: string;\n companyIdentificationNumber: string;\n prefix: Prefix | null;\n familyName: string;\n firstName: string;\n email: string;\n mobilePhone: string;\n tenant: Tenant;\n clientType: ClientType;\n identificationNumber: number | null;\n cosignerExists: boolean;\n cosigner: Cosigner;\n}\n\nexport interface GetContactInformationQuery {\n id: string;\n companyName: string;\n companyIdentificationNumber: string;\n email: string;\n prefix: Prefix;\n familyName: string;\n firstName: string;\n mobilePhone: string;\n tenant: Tenant;\n clientType: ClientType;\n cosigner: Cosigner;\n}\n\nexport interface Cosigner {\n prefix: Prefix | null;\n familyName: string;\n firstName: string;\n}\n\nexport interface ContactInformation {\n id: string;\n companyName: string;\n companyIdentificationNumber: string;\n email: string;\n prefix: Prefix;\n familyName: string;\n firstName: string;\n mobilePhone: string;\n tenant: Tenant;\n clientType: ClientType;\n cosigner: Cosigner;\n}\n","import VueI18n from \"vue-i18n\";\n\nexport interface ContractSigningState {\n requestId: number;\n\n contractSigningProcessLoading: boolean;\n\n contractSigningProgressLoading: boolean;\n contractSigningProgressPolling: ReturnType | null;\n\n yousignSignatureUrl: YousignSignatureUrl;\n contractSigningStatus: ContractSigningStatus | null;\n contractSigningStatusMessage: VueI18n.TranslateResult | null;\n\n contractName: ContractName;\n activationDate: string | null;\n signatureDate: string | null;\n}\n\nexport interface GetContractSigningQuery {\n yousignSignatureUrl: YousignSignatureUrl;\n state: ContractSigningStatus | null;\n contractName: ContractName;\n activationDate: string | null;\n signatureDate: string | null;\n}\n\nexport interface ContractSigning {\n yousignSignatureUrl: YousignSignatureUrl;\n contractSigningStatus: ContractSigningStatus | null;\n contractName: ContractName;\n activationDate: string | null;\n signatureDate: string | null;\n}\n\nexport enum ContractSigningError {\n INVALID_ID = \"INVALID_ID\",\n EMAIL_NOT_VALIDATED = \"EMAIL_NOT_VALIDATED\",\n TERMS_AND_CONDITIONS_NOT_ACCEPTED = \"TERMS_AND_CONDITIONS_NOT_ACCEPTED\",\n SUBSCRIPTION_NOT_FOUND = \"SUBSCRIPTION_NOT_FOUND\",\n COMMUNICATION_FAILURE = \"COMMUNICATION_FAILURE\",\n CONTRACT_GENERATION_COMMUNICATION_FAILURE = \"CONTRACT_GENERATION_COMMUNICATION_FAILURE\",\n CONTRACT_GENERATION_FAILURE = \"CONTRACT_GENERATION_FAILURE\",\n}\n\nexport enum ContractSigningStatus {\n PENDING = \"PENDING\",\n REFUSED = \"REFUSED\",\n SIGNED_CONTRACT_DOWNLOAD_FAILED = \"SIGNED_CONTRACT_DOWNLOAD_FAILED\",\n SIGNED_CONTRACT_PERSISTENCE_FAILED = \"SIGNED_CONTRACT_PERSISTENCE_FAILED\",\n CONFIRMATION_EMAIL_FAILED = \"CONFIRMATION_EMAIL_FAILED\",\n SIGNED = \"SIGNED\",\n PENDING_ACTIVATION = \"PENDING_ACTIVATION\",\n ACTIVATION_REQUESTED = \"ACTIVATION_REQUESTED\",\n GRID_EXTRACTION_ACTIVATED = \"GRID_EXTRACTION_ACTIVATED\",\n}\n\nexport type YousignSignatureUrl = string | null;\nexport type ContractName = string | null;\n","export const MAX_LENGTH_GSRN_EAN_NUMBER_ES = 19;\nexport const MAX_LENGTH_GSRN_EAN_NUMBER_ENEDIS = 14;\nexport const MAX_LENGTH_STREET_NUMBER = 5;\nexport const MAX_LENGTH_POST_CODE = 5;\n","export enum ContractedPower {\n SIX = 6,\n NINE = 9,\n TWELVE = 12,\n FIFTEEN = 15,\n EIGHTEEN = 18,\n TWENTY_FOUR = 24,\n THIRTY = 30,\n THIRTY_SIX = 36,\n}\n\nexport enum StreetNumberSuffix {\n BIS = \"BIS\",\n TER = \"TER\",\n QUATER = \"QUATER\",\n}\n\nexport enum ConsumptionInformationType {\n EURO = \"EURO\",\n WATT = \"WATT\",\n}\n\nexport interface HousingState {\n gridOperatorId: string | null;\n\n contractedPowers: Array;\n contractedPower: ContractedPower | null;\n gsrnEANNumber: string;\n streetNumber: string;\n streetNumberSuffixes: Array;\n streetNumberSuffix: StreetNumberSuffix | null;\n street: string;\n postCode: string;\n city: string;\n consumptionInformationType: ConsumptionInformationType;\n consumptionInformationEuros: string;\n consumptionInformationKwh: string;\n loadingValidationGsrnEan: boolean;\n errorValidationGsrnEan: string | null;\n successValidationGsrnEan: boolean;\n}\n\nexport interface GetHousingQuery {\n gridOperatorId: string;\n contractedPower: ContractedPower;\n gsrnEANNumber: string;\n streetNumber: string;\n streetNumberSuffix: StreetNumberSuffix;\n street: string;\n postCode: string;\n city: string;\n consumptionInformationEuros: number | null;\n consumptionInformationKwh: number | null;\n}\n\nexport interface Housing {\n gridOperatorId: string | null;\n contractedPower: ContractedPower | null;\n gsrnEANNumber: string;\n streetNumber: string;\n streetNumberSuffix: StreetNumberSuffix | null;\n street: string;\n postCode: string;\n city: string;\n consumptionInformationEuros?: number | null;\n consumptionInformationKwh?: number | null;\n}\n\nexport interface GridOperator {\n name: string;\n id: string;\n gridOperatorEnum: GridOperatorEnum;\n status: GridOperatorStatus;\n}\n\nexport enum GridOperatorStatus {\n MANAGED = \"MANAGED\",\n PENDING = \"PENDING\",\n UNMANAGED = \"UNMANAGED\",\n}\n\nexport enum ErrorValidationGsrnEan {\n FORMAT_INVALID = \"FORMAT_INVALID\",\n GSRNEAN_NOTFOUND = \"GSRNEAN_NOTFOUND\",\n SERVER_ENERGYCOM_RESPOND_INVALID = \"SERVER_ENERGYCOM_RESPOND_INVALID\",\n SERVER_ENERGYCOM_NOT_RESPOND = \"SERVER_ENERGYCOM_NOT_RESPOND\",\n UNKNOWN_ERROR = \"UNKNOWN_ERROR\",\n}\n\nexport enum GridOperatorEnum {\n ENEDIS = \"Enedis\",\n STRASBOURG = \"ES\",\n}\n","import { parsePhoneNumberWithError } from \"libphonenumber-js/mobile\";\n\nexport const stringValidators = {\n isNumberWithCorrectLength: (value: string, length: number) => {\n const re = new RegExp(\"^\\\\d{\" + length + \"}$\");\n return re.test(value);\n },\n isNumber: (value: string) => {\n const re = new RegExp(\"^\\\\d+$\");\n return re.test(value);\n },\n isName: (value: string, maxLength: number) => {\n const re = new RegExp(\n `^[a-zA-ZàáâäãåąčćęèéêëėįìíîïłńòóôöõøùúûüųūÿýżźñçčšžÀÁÂÄÃÅĄĆČĖĘÈÉÊËÌÍÎÏĮŁŃÒÓÔÖÕØÙÚÛÜŲŪŸÝŻŹÑßÇŒÆČŠŽ∂ð ,.'-]{2,${maxLength}}$`\n );\n return re.test(value);\n },\n isFrenchIban: (value: string) => {\n const re = new RegExp(\n `^FR[0-9]{2} ?([a-zA-Z0-9]{4} ?){5}([a-zA-Z0-9]{2,3})$`\n );\n return re.test(value);\n },\n isBic: (value: string) => {\n const re = new RegExp(\n `^[a-zA-Z0-9]{4}[a-zA-Z]{2}[a-zA-Z0-9]{2}[a-zA-Z0-9]{0,3}$`\n );\n return re.test(value);\n },\n isEmail: (value: string) => {\n const re = /\\S+@\\S+\\.\\S+/;\n return re.test(String(value).toLowerCase());\n },\n isEmpty: (value: string | null | undefined) => {\n return value === null || value === \"\" || value === undefined;\n },\n isMobilePhone: (value: string) => {\n try {\n const phoneNumber = parsePhoneNumberWithError(value, \"FR\");\n return phoneNumber.isValid() && phoneNumber.getType() === \"MOBILE\";\n } catch (error) {\n return false;\n }\n },\n};\n","var map = {\n\t\"./en.json\": 6443,\n\t\"./fr.json\": 6115\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 908;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + ({\"692\":\"view\",\"768\":\"page\"}[chunkId] || chunkId) + \".\" + {\"692\":\"d77ed013\",\"768\":\"bd5dc4f5\",\"897\":\"48744c68\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + {\"692\":\"view\",\"768\":\"page\"}[chunkId] + \".\" + {\"692\":\"38c226c7\",\"768\":\"47c25cb5\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"energy-subscription-front:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"692\":1,\"768\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkenergy_subscription_front\"] = self[\"webpackChunkenergy_subscription_front\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(8116); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_c","_self","class","mobileNavigation","isMobileNavigation","withoutPadding","attrs","_t","staticRenderFns","name","data","tenant","props","type","default","methods","fixCrappyScrollBehavior","document","watch","$route","component","withBackButton","withHelpButton","staticClass","on","$event","$emit","_e","_v","_s","mainHeaderTitle","computed","withMobileStepHeader","loading","goHome","require","components","DomuneoLogo","MylightLogo","SubscriptionStepsNavigation","MainSidebar","MainHeader","MobileStepHeader","MainContent","isMobile","currentStep","step","changeStep","scopedSlots","_u","key","fn","previous","next","disabled","preventDefault","action","apply","arguments","undefined","RouteName","Offer","getIconType","$t","getIconColor","ContactInformation","checkIfStepFinished","Housing","Billing","BankDetails","Contract","checkIfStepVisited","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","loadLocaleMessages","locales","messages","forEach","matched","match","length","locale","Vue","VueI18n","process","fallbackLocale","GRD","ENEDIS","mounted","window","created","then","gridOperators","catch","error","console","beforeDestroy","gridOperatorId","setGridOperatorId","setViewportHeight","register","ready","log","registered","cached","updatefound","updated","offline","isGetSubscriptionLoading","proxy","MainLayout","state","visitedSteps","getters","getMainHeaderTitle","getCurrentStep","rootState","rootGetters","mutations","setMainHeaderTitle","setCurrentStep","setVisitedStep","actions","navigation","namespaced","TypeNotification","position","queue","duration","Number","getIcon","icon","IsWarning","IsDanger","getIconColorClass","iconClass","openNotification","root","handler","namespacedContext","message","IsSuccess","iconColorClass","HtmlMessage","Notification","indefinite","Toast","notification","companyName","companyIdentificationNumber","prefix","familyName","firstName","email","mobilePhone","clientType","ClientType","identificationNumber","cosigner","DEFAULT_EMPTY_COSIGNER","cosignerExists","getClientType","isIndividualClient","isProfessionalClient","getCompanyName","isCompanyNameEmpty","stringValidators","isCompanyNameValid","getCompanyNameErrors","errors","push","i18n","getCompanyIdentificationNumber","isCompanyIdentificationNumberEmpty","isCompanyIdentificationNumberBadFormat","MAX_LENGTH_COMPANY_IDENTIFICATION_NUMBER","isCompanyIdentificationNumberValid","getCompanyIdentificationNumberErrors","getPrefix","getPrefixErrors","isPrefixEmpty","isPrefixValid","getFamilyName","isFamilyNameEmpty","isFamilyNameBadFormat","MAX_LENGTH_FAMILY_NAME","isFamilyNameValid","getFamilyNameErrors","getFirstName","isFirstNameEmpty","isFirstNameBadFormat","MAX_LENGTH_FIRST_NAME","isFirstNameValid","getFirstNameErrors","getCosignerPrefix","getCosignerPrefixErrors","isCosignerPrefixEmpty","isCosignerPrefixValid","getCosignerExists","getCosignerFamilyName","isCosignerFamilyNameEmpty","isCosignerFamilyNameBadFormat","isCosignerFamilyNameValid","isCosignerFirstNameEmpty","isCosignerFirstNameBadFormat","getCosignerFamilyNameErrors","getCosignerFirstName","isCosignerFirstNameValid","getCosignerFirstNameErrors","isCosignerValid","getMobilePhone","isMobilePhoneEmpty","isMobilePhoneBadFormat","isMobilePhoneBadPhoneNumber","startsWith","isMobilePhoneValid","getMobilePhoneErrors","getEmail","isEmailEmpty","isEmailBadFormat","isEmailValid","getEmailErrors","getTenant","getIdentificationNumber","getContactInformation","contactInformation","isContactInformationStepValid","setClientType","setCompanyName","setCompanyIdentificationNumber","setPrefix","setFamilyName","setFirstName","setCosignerPrefix","setCosignerFamilyName","setCosignerFirstName","setCosignerExists","setCosigner","setEmail","setMobilePhone","setTenant","setIdentificationNumber","setContactInformation","context","commit","HttpService","constructor","response","status","store","dispatch","statusText","Promise","reject","axiosInstance","setAxiosInstance","get","path","config","getFullResponse","post","payload","put","patch","delete","axios","interceptors","use","handleSuccess","handleError","httpService","validateGsrnEan","gsrnEanNumber","gridOperatorEnum","headers","Authorization","VUE_APP_VALIDATION_GSRN_TOKEN","contractedPowers","ContractedPower","contractedPower","gsrnEANNumber","streetNumber","streetNumberSuffixes","StreetNumberSuffix","streetNumberSuffix","street","postCode","city","consumptionInformationType","ConsumptionInformationType","consumptionInformationEuros","consumptionInformationKwh","loadingValidationGsrnEan","errorValidationGsrnEan","successValidationGsrnEan","getGridOperator","gridOperator","find","getGridOperatorName","getGridOperatorEnum","getGridOperatorStatus","GridOperatorStatus","getGridOperatorId","isGridOperatorValid","isGridOperatorManaged","getContractedPowers","getContractedPower","getContractedPowerErrors","isContractedPowerEmpty","isContractedPowerValid","getGsrnEANNumber","isGsrnEANNumberEmpty","isGsrnEANNumberBadFormat","GridOperatorEnum","MAX_LENGTH_GSRN_EAN_NUMBER_ENEDIS","MAX_LENGTH_GSRN_EAN_NUMBER_ES","isGsrnEANNumberValid","getGsrnEANNumberErrors","phoneNumber","grdName","getLoadingValidationGsrnEan","getErrorValidationGsrnEan","getStreetNumber","isStreetNumberBadFormat","isNaN","isStreetNumberValid","getStreetNumberErrors","getStreetNumberSuffix","getStreetNumberSuffixes","getStreet","isStreetEmpty","isStreetValid","getStreetErrors","getPostCode","isPostCodeEmpty","isPostCodeBadFormat","MAX_LENGTH_POST_CODE","isPostCodeValid","getPostCodeErrors","getCity","isCityEmpty","isCityValid","getCityErrors","getConsumptionInformationType","getConsumptionInformationEuros","isConsumptionInformationEurosEmpty","isConsumptionInformationEurosValid","getConsumptionInformationEurosErrors","getConsumptionInformationKwh","isConsumptionInformationKwhEmpty","isConsumptionInformationKwhValid","getConsumptionInformationKwhErrors","getHousing","housing","isHousingStepValid","ErrorValidationGsrnEan","includes","setContractedPower","setGsrnEANNumber","setStreetNumber","setStreetNumberSuffix","setStreet","setPostCode","setCity","setConsumptionInformationType","setConsumptionInformationEuros","setConsumptionInformationKwh","setLoadingValidationGsrnEan","setErrorValidationGsrnEan","clearErrorValidationGsrnEan","setSuccessValidationGsrnEan","setHousing","checkGsrnEan","apiGsrnEanValidation","finally","ProductType","BatteryCapacity","PRODUCT_TYPES","GREEN100","getBatteryPlans","batteryPlans","batteryPlansLoading","batteryPlansError","batteryCapacity","productTypes","productType","getProductTypes","getBatteryPlansLoading","getBatteryPlansError","getProductType","getBatteryCapacity","isOfferStepValid","getOffer","setGetBatteryPlansRequest","setGetBatteryPlansSuccess","setGetBatteryPlansFailure","errorMessage","setProductType","setBatteryCapacity","getBatteryPlansSuccess","getBatteryPlansFailure","title","apiBatteryPlan","setOffer","offer","PaymentType","PAYMENT_TYPES","CLASSIC","REAL_TIME","paymentType","paymentTypes","getPaymentType","getPaymentTypes","isBillingStepValid","getBilling","setPaymentType","setBilling","billing","mod97","string","fragment","checksum","slice","offset","substring","String","parseInt","holderFirstName","holderFamilyName","holderCompanyName","isBillingAddressSameAsPhysical","billingAddress","DEFAULT_EMPTY_BILLING_ADDRESS","iban","bic","getHolderFirstName","isHolderFirstNameEmpty","isHolderFirstNameBadFormat","MAX_LENGTH_HOLDER_FIRST_NAME","isHolderFirstNameValid","isEmpty","isBadFormat","getHolderFirstNameErrors","getHolderFamilyName","isHolderFamilyNameEmpty","isHolderFamilyNameBadFormat","MAX_LENGTH_HOLDER_FAMILY_NAME","isHolderFamilyNameValid","getHolderFamilyNameErrors","getHolderCompanyName","isHolderCompanyNameEmpty","isHolderCompanyNameValid","getHolderCompanyNameErrors","getIsBillingAddressSameAsPhysical","getBillingAddress","getIban","isIbanEmpty","isNotFrenchIban","cantExist","toUpperCase","replace","digits","letter","charCodeAt","isIbanValid","getIbanErrors","getBic","isBicEmpty","isBicBadFormat","isBicValid","getBicErrors","getBankDetails","bankDetails","isBankDetailsStepValid","checkIfAccountInformationValid","checkIfHolderInformationValid","checkIfAddressInformationValid","setHolderFirstName","setHolderFamilyName","setHolderCompanyName","setIsBillingAddressSameAsPhysical","setBillingAddress","newBillingAddress","setIban","setBic","setBankDetails","startContractSigningProcess","subscriptionId","termsAndConditionsAccepted","solarPanelsInstalled","getContractSigningProgress","sendNotification","sendError","sendSuccess","sendWarning","CONTRACT_SIGNING_PROGRESS_POLL_INTERVAL","requestId","contractSigningProcessLoading","contractSigningProgressLoading","contractSigningProgressPolling","contractSigningStatus","contractSigningStatusMessage","yousignSignatureUrl","contractName","activationDate","signatureDate","getContractSigningStatusMessage","getContractSigningStatus","getContractName","getContractSigningProcessLoading","getContractSigningProgressLoading","isYousignSignatureUrlValid","getYousignIframeUrl","getContractSigning","setStartContractSigningProcessRequest","setStartContractSigningProcessSuccess","setStartContractSigningProcessFailure","setGetContractSigningProgressRequest","setGetContractSigningProgressSuccess","setGetContractSigningProgressFailure","setGetContractSigningProgressPollingStart","pollingFunction","setTimeout","setGetContractSigningProgressPollingStop","clearTimeout","setContractSigningState","contractSignatureProcess","showErrorAndRedirectToContractPage","router","startContractSigningProcessSuccess","startContractSigningProcessFailure","contractSigningApi","getContractSigningProgressSuccess","getContractSigningProgressFailure","stopContractSigningProgressPolling","setContractSigning","ContractSigningStatus","query","isSubscriptionValidForSign","contractSigning","activateContract","downloadContract","responseType","ContractActivationError","getActivateContractErrorMessage","errorResponse","errorCode","isHandledError","values","activateContractLoading","downloadContractLoading","getActivateContractLoading","getDownloadContractLoading","canReachContractActivationPage","isGetSubscriptionError","isContractSigned","setActivateContractRequest","setActivateContractSuccess","setActivateContractFailure","setDownloadContractRequest","setDownloadContractSuccess","setDownloadContractFailure","isActivateContractLoading","activateContractSuccess","successMessage","activateContractFailure","activateContractAfter","apiContractActivation","isDownloadContractLoading","downloadContractSuccess","fileUrl","URL","createObjectURL","Blob","fileLink","createElement","fileName","href","setAttribute","body","appendChild","click","downloadContractFailure","getStringOrDefault","value","defaultValue","getShortPhysicalAddress","physicalAddress","usedAddressFields","isAddressInvalid","some","addressField","getShortBillingAddress","termsAndConditions","getTermsAndConditions","getSolarPanelsInstalled","isContractStepValid","getContractSummary","productInformation","shortBillingAddress","gridOperatorName","clientInformation","pdlNumber","selectedOfferType","selectedContractedPower","selectedBatteryCapacity","offerInformation","offerType","tariffType","selectedBillingType","paymentInformation","billingType","contractDeliveryType","contractSigningInformation","setTermsAndConditions","setSolarPanelsInstalled","setContract","contract","getSubscription","createSubscription","subscription","updateSubscription","updateSubscriptionEmail","emailValidationProcess","isRefresh","validateEmail","token","sendEmailValidationLoading","sendEmailValidationError","sendEmailValidationForUpdateEmailLoading","sendEmailValidationForUpdateEmailError","reSendEmailValidationLoading","reSendEmailValidationError","reSendEmailValidationSuccess","validatedEmailLoading","validatedEmailError","emailIsValidated","getSendEmailValidationError","isSendEmailValidationLoading","getSendEmailValidationForUpdateEmailError","isSendEmailValidationForUpdateEmailLoading","getReSendEmailValidationError","getReSendEmailValidationSuccess","isValidatedEmail","setSendEmailValidationRequest","setSendEmailValidationSuccess","setSendEmailValidationFailure","setSendEmailValidationForUpdateEmailRequest","setSendEmailValidationForUpdateEmailSuccess","setSendEmailValidationForUpdateEmailFailure","setResendEmailValidationRequest","setResendEmailValidationSuccess","setResendEmailValidationFailure","setValidateEmailRequest","setValidateEmailSuccess","setValidateEmailFailure","sendValidationEmailForUpdateEmail","apiSubscription","sendValidationEmail","reSendValidationEmail","apiEmailValidation","emailValidation","getGridOperators","gridOperatorsLoading","gridOperatorsError","getGridOperatorsLoading","getGridOperatorsError","setGetGridOperatorsRequest","setGetGridOperatorsSuccess","setGetGridOperatorsFailure","getGridOperatorsSuccess","getGridOperatorsFailure","apiGridOperator","getSubscriptionLoading","getSubscriptionError","saveSubscriptionLoading","saveSubscriptionError","updateSubscriptionEmailLoading","updateSubscriptionEmailError","getSubscriptionId","isSaveSubscriptionLoading","getUpdateSubscriptionEmailError","isUpdateSubscriptionEmailLoading","isRegisteredSubscription","isSubscriptionValidForSave","setSubscriptionId","setGetSubscriptionRequest","setGetSubscriptionSuccess","setGetSubscriptionFailure","setSaveSubscriptionRequest","setSaveSubscriptionSuccess","setSaveSubscriptionFailure","setUpdateSubscriptionEmailRequest","setUpdateSubscriptionEmailSuccess","setUpdateSubscriptionEmailFailure","result","saveSubscription","metadata","Field","newEmail","modules","contractActivation","Vuex","strict","plugins","createPersistedState","storage","sessionStorage","VueRouter","registerSubscriptionId","to","validateEmailToken","rootRedirection","from","routes","redirect","mainLayout","beforeEnter","children","fromYousign","redirectToRoot","warn","beforeEach","loadTenantStyle","initMoment","moment","initBuefy","Buefy","initVueMask","VueTheMask","initSnippet","VueGtm","vueRouter","FullStory","orgId","prototype","$FullStory","initialize","h","App","$mount","MAX_LENGTH_HOLDER_COMPANY_NAME","MAX_LENGTH_IBAN","MAX_LENGTH_BIC","MAX_LENGTH_EMAIL","MAX_LENGTH_MOBILE_PHONE","Prefix","Tenant","ContractSigningError","MAX_LENGTH_STREET_NUMBER","isNumberWithCorrectLength","re","RegExp","test","isNumber","isName","maxLength","isFrenchIban","isBic","isEmail","toLowerCase","isMobilePhone","parsePhoneNumberWithError","isValid","getType","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","m","deferred","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","every","splice","r","n","getter","__esModule","d","a","definition","defineProperty","enumerable","f","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","obj","prop","hasOwnProperty","inProgress","dataWebpackPrefix","l","url","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","timeout","nc","src","onScriptComplete","prev","event","onerror","onload","doneFns","parentNode","removeChild","bind","target","head","Symbol","toStringTag","nmd","paths","p","createStylesheet","fullhref","linkTag","rel","onLinkComplete","errorType","realHref","err","request","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}