{"version":3,"sources":["./node_modules/moment/locale sync ^\\.\\/.*$","./src/$_lazy_route_resource lazy namespace object","./src/app/@auth/auth-routing.module.ts","./src/app/@auth/auth.guard.ts","./src/app/@auth/auth.interceptor.ts","./src/app/@auth/auth.module.ts","./src/app/@auth/components/auth-block/auth-block.component.ts","./src/app/@auth/components/auth.component.ts","./src/app/@auth/components/forgot-password/forgot-password.component.ts","./src/app/@auth/components/forgot-password/forgot-password.component.html","./src/app/@auth/components/impersonation/impersonation-challenge.component.ts","./src/app/@auth/components/impersonation/impersonation-challenge.component.html","./src/app/@auth/components/index.ts","./src/app/@auth/components/login/login.component.ts","./src/app/@auth/components/login/login.component.html","./src/app/@auth/components/logout/logout.component.ts","./src/app/@auth/components/logout/logout.component.html","./src/app/@auth/components/reset-password/reset-password.component.ts","./src/app/@auth/components/reset-password/reset-password.component.html","./src/app/@components/account-detail-pills/account-detail-pills.component.ts","./src/app/@components/address-picker/address-form-builder.ts","./src/app/@components/address-picker/address-picker-list-modal.component.ts","./src/app/@components/address-picker/address-picker-list-modal.component.html","./src/app/@components/address-picker/address-picker.component.ts","./src/app/@components/address-picker/address-picker.component.html","./src/app/@components/card-details-form/card-details-form-builder.ts","./src/app/@components/card-details-form/card-details.component.ts","./src/app/@components/card-details-form/card-details.component.html","./src/app/@components/change-password/change-password.component.ts","./src/app/@components/change-password/change-password.component.html","./src/app/@components/components.module.ts","./src/app/@components/date-range-picker/date-range-picker.component.ts","./src/app/@components/date-range-picker/date-range-picker.component.html","./src/app/@components/graph-wrapper/graph-wrapper.component.ts","./src/app/@components/graph-wrapper/graph-wrapper.component.html","./src/app/@components/info-icon/info-icon-modal.component.ts","./src/app/@components/info-icon/info-icon-modal.component.html","./src/app/@components/info-icon/info-icon.component.ts","./src/app/@components/info-icon/info-icon.component.html","./src/app/@components/less-than-one-pence-pipe/less-than-one-pence.pipe.ts","./src/app/@components/less-than-ten-pipe/less-than-ten.pipe.ts","./src/app/@components/nav-bar/nav-bar.component.ts","./src/app/@components/nav-bar/nav-bar.component.html","./src/app/@components/pence-per-pipe/pence-per.pipe.ts","./src/app/@components/pence-pipe/pence.pipe.ts","./src/app/@components/pills/pills.component.ts","./src/app/@components/pills/pills.component.html","./src/app/@components/processing-loader/processing-loader.component.ts","./src/app/@components/processing-loader/processing-loader.component.html","./src/app/@components/search-bar/search-bar.component.ts","./src/app/@components/search-bar/search-bar.component.html","./src/app/@components/statements/statements.component.ts","./src/app/@components/statements/statements.component.html","./src/app/@components/top-up-form/top-up-form-builder.ts","./src/app/@components/top-up-form/top-up-form.component.ts","./src/app/@components/top-up-form/top-up-form.component.html","./src/app/@components/top-up-input/top-up-input.component.ts","./src/app/@components/top-up-input/top-up-input.component.html","./src/app/@components/validation-message/validation-message.component.ts","./src/app/@core/backend/common/api/http.service.ts","./src/app/@core/backend/common/common-backend.module.ts","./src/app/@core/backend/common/reseller-code.interceptor.ts","./src/app/@core/backend/receptionist/api/auth.api.ts","./src/app/@core/backend/receptionist/api/export.api.ts","./src/app/@core/backend/receptionist/api/franchise.api.ts","./src/app/@core/backend/receptionist/api/franchisee.api.ts","./src/app/@core/backend/receptionist/api/numbers.api.ts","./src/app/@core/backend/receptionist/api/password.api.ts","./src/app/@core/backend/receptionist/api/payment.api.ts","./src/app/@core/backend/receptionist/api/pricing.api.ts","./src/app/@core/backend/receptionist/api/query-string-utils.ts","./src/app/@core/backend/receptionist/api/receptionist-api.ts","./src/app/@core/backend/receptionist/api/sign-up-api.ts","./src/app/@core/backend/receptionist/receptionist-backend.module.ts","./src/app/@core/backend/receptionist/services/auth.service.ts","./src/app/@core/backend/receptionist/services/balance-service.ts","./src/app/@core/backend/receptionist/services/client-service.ts","./src/app/@core/backend/receptionist/services/colour-service.ts","./src/app/@core/backend/receptionist/services/export-service.ts","./src/app/@core/backend/receptionist/services/franchise-service.ts","./src/app/@core/backend/receptionist/services/franchisee-service.ts","./src/app/@core/backend/receptionist/services/pasword-service.ts","./src/app/@core/backend/receptionist/services/payment-service.ts","./src/app/@core/backend/receptionist/services/phone-number.service.ts","./src/app/@core/backend/receptionist/services/pricing-service.ts","./src/app/@core/backend/receptionist/services/receptionist-service.ts","./src/app/@core/backend/receptionist/services/reseller.service.ts","./src/app/@core/backend/receptionist/services/sign-up-service.ts","./src/app/@core/backend/receptionist/services/statements-service.ts","./src/app/@core/core.module.ts","./src/app/@core/interfaces/common/signUp.ts","./src/app/@core/interfaces/receptionist/payment.ts","./src/app/@core/module-import-guard.ts","./src/app/@core/utils/address-values-extractor.ts","./src/app/@core/utils/constants.ts","./src/app/@core/utils/graph-data-builder.ts","./src/app/@core/utils/payment-values-extractor.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/marketing/components/action-coach-accordian/action-coach-accordian-item.component.ts","./src/app/marketing/components/action-coach-accordian/action-coach-accordian-item.component.html","./src/app/marketing/components/action-coach-accordian/action-coach-accordian.component.ts","./src/app/marketing/components/action-coach-accordian/action-coach-accordian.component.html","./src/app/marketing/components/faqs/faqs.component.ts","./src/app/marketing/components/faqs/faqs.component.html","./src/app/marketing/components/header/header.component.ts","./src/app/marketing/components/header/header.component.html","./src/app/marketing/components/highlights/highlights.component.ts","./src/app/marketing/components/highlights/highlights.component.html","./src/app/marketing/components/marketing-register/marketing-register.component.ts","./src/app/marketing/components/marketing-register/marketing-register.component.html","./src/app/marketing/components/pricing/category-friendly-name.pipe.ts","./src/app/marketing/components/pricing/pricing.component.ts","./src/app/marketing/components/pricing/pricing.component.html","./src/app/marketing/marketing-routing.module.ts","./src/app/marketing/marketing.component.ts","./src/app/marketing/marketing.component.html","./src/app/marketing/marketing.module.ts","./src/app/marketing/screens/legal/privacy-policy.component.ts","./src/app/marketing/screens/legal/privacy-policy.component.html","./src/app/marketing/screens/legal/terms.component.ts","./src/app/marketing/screens/legal/terms.component.html","./src/app/marketing/screens/marketing/marketing-screen.component.ts","./src/app/marketing/screens/marketing/marketing-screen.component.html","./src/app/marketing247/components/faqs/faqs.component.ts","./src/app/marketing247/components/faqs/faqs.component.html","./src/app/marketing247/components/meet-the-team/meet-the-team.component.ts","./src/app/marketing247/components/meet-the-team/meet-the-team.component.html","./src/app/marketing247/components/pricing/pricing.component.ts","./src/app/marketing247/components/pricing/pricing.component.html","./src/app/marketing247/components/service-description/service-description.component.ts","./src/app/marketing247/components/service-description/service-description.component.html","./src/app/marketing247/marketing-247.component.ts","./src/app/marketing247/marketing-247.component.html","./src/app/marketing247/marketing-247.module.ts","./src/app/mode-checker/mode-checker.component.ts","./src/app/mode-checker/mode-checker.comonent.html","./src/app/mode-checker/mode-determinent.ts","./src/app/registration/components/cost-breakdown/cost-breakdown.component.ts","./src/app/registration/components/cost-breakdown/cost-breakdown.component.html","./src/app/registration/components/index.ts","./src/app/registration/components/number-chooser/area-search/area-search-modal.component.ts","./src/app/registration/components/number-chooser/area-search/area-search-modal.component.html","./src/app/registration/components/number-chooser/categories-modal/categories-modal.component.ts","./src/app/registration/components/number-chooser/categories-modal/categories-modal.component.html","./src/app/registration/components/number-chooser/desktop-number-chooser.component.ts","./src/app/registration/components/number-chooser/desktop-number-chooser.component.html","./src/app/registration/components/number-chooser/mobile-number-chooser.component.ts","./src/app/registration/components/number-chooser/mobile-number-chooser.component.html","./src/app/registration/components/number-chooser/number-chooser.component.ts","./src/app/registration/components/number-chooser/number-chooser.component.html","./src/app/registration/components/number-chooser/number-list-card/number-list-card.component.ts","./src/app/registration/components/number-chooser/number-list-card/number-list-card.component.html","./src/app/registration/components/number-chooser/number-list-card/numbers-list-template.ts","./src/app/registration/components/number-chooser/number-search/number-search.component.ts","./src/app/registration/components/number-chooser/number-search/number-search.component.html","./src/app/registration/components/stepper-buttons/stepper-buttons.component.ts","./src/app/registration/components/stepper-buttons/stepper-buttons.component.html","./src/app/registration/registration-routing.module.ts","./src/app/registration/registration.component.ts","./src/app/registration/registration.module.ts","./src/app/registration/screens/index.ts","./src/app/registration/screens/register-account-screen/register-account-sccreen.ts","./src/app/registration/screens/register-account-screen/register-account-screen.component.html","./src/app/registration/screens/register-number-chooser/register-number-chooser.component.ts","./src/app/registration/screens/register-number-chooser/register-number-chooser.component.html","./src/app/registration/screens/register-payment-screen/register-payment-screen.component.ts","./src/app/registration/screens/register-payment-screen/register-payment-screen.component.html","./src/app/registration/screens/register-reception-screen/register-reception-screen.component.ts","./src/app/registration/screens/register-reception-screen/register-reception-screen.component.html","./src/app/registration/screens/register/register.component.ts","./src/app/registration/screens/register/register.component.html","./src/app/registration/screens/registration-purchase-number-fail/registration-purchase-number-fail.component.ts","./src/app/registration/screens/registration-purchase-number-fail/registration-purchase-number-fail.component.html","./src/app/registration/screens/registration-success/registration-success.component.ts","./src/app/registration/screens/registration-success/registration-success.component.html","./src/app/registration/screens/terms-and-conditions/terms-and-conditions.component.ts","./src/app/registration/screens/terms-and-conditions/terms-and-conditions.component.html","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","file":"main-es2015.f3189279ee2d8dbe0b50.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\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 = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { RouterModule, Routes } from \"@angular/router\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport {\r\n  R247AuthComponent,\r\n  R247LoginComponent,\r\n  R247LogoutComponent,\r\n  //NgxRequestPasswordComponent,\r\n  //NgxResetPasswordComponent,\r\n} from \"./components\";\r\nimport { R247ForgotPasswordComponent } from \"./components/forgot-password/forgot-password.component\";\r\nimport { R247ResetPasswordComponent } from \"./components/reset-password/reset-password.component\";\r\nimport { R247ImpersonationChallengeComponent } from \"./components/impersonation/impersonation-challenge.component\";\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: \"\",\r\n    component: R247AuthComponent,\r\n    children: [\r\n      {\r\n        path: \"login\",\r\n        component: R247LoginComponent,\r\n      },\r\n      {\r\n        path: \"logout\",\r\n        component: R247LogoutComponent,\r\n      },\r\n      {\r\n        path: \"impersonate\",\r\n        component: R247ImpersonationChallengeComponent,\r\n      },\r\n      {\r\n        path: \"password/forgot\",\r\n        component: R247ForgotPasswordComponent,\r\n      },\r\n      {\r\n        path: \"password/reset\",\r\n        component: R247ResetPasswordComponent,\r\n      },\r\n      {\r\n        path: \"\",\r\n        component: R247LoginComponent,\r\n      },\r\n    ],\r\n  },\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule],\r\n})\r\nexport class AuthRoutingModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n  ActivatedRouteSnapshot,\r\n  CanActivate,\r\n  Router,\r\n  RouterStateSnapshot,\r\n} from \"@angular/router\";\r\nimport { AuthService } from \"../@core/backend/receptionist/services/auth.service\";\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n  constructor(private authService: AuthService, private router: Router) {}\r\n\r\n  canActivate(\r\n    route: ActivatedRouteSnapshot,\r\n    state: RouterStateSnapshot\r\n  ): boolean {\r\n    if (this.authService.isAuthenticated()) return true;\r\n\r\n    this.router.navigate([\"auth/login\"], {\r\n      queryParams: { returnUrl: state.url },\r\n    });\r\n\r\n    return false;\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { AuthService } from '../@core/backend/receptionist/services/auth.service';\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n\r\n  constructor(private router: Router, private authService: AuthService) {\r\n  }\r\n\r\n  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n    return next.handle(this.getRequestWithToken(req))\r\n      .pipe(catchError((error: HttpErrorResponse) => {\r\n        if (error.status === 401)\r\n          this.router.navigate(['auth/login']);\r\n\r\n        return throwError(error);\r\n      }));\r\n  }\r\n\r\n  private getRequestWithToken(req: HttpRequest<any>) {\r\n    if (!this.authService.isAuthenticated())\r\n      return req;\r\n\r\n    const token = this.authService.getToken();\r\n\r\n    const cloned = req.clone({\r\n      headers: req.headers.set(\"Authorization\", `Bearer ${token}`)\r\n    });\r\n\r\n    return cloned;\r\n  }\r\n}\r\n","import { NgModule, ModuleWithProviders } from \"@angular/core\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { HTTP_INTERCEPTORS } from \"@angular/common/http\";\r\nimport { AuthInterceptor } from \"./auth.interceptor\";\r\nimport { AuthGuard } from \"./auth.guard\";\r\n\r\nimport {\r\n  R247LoginComponent,\r\n  R247AuthComponent,\r\n  NgxAuthBlockComponent,\r\n  R247LogoutComponent,\r\n} from \"./components\";\r\n\r\nimport { AuthRoutingModule } from \"./auth-routing.module\";\r\nimport { ComponentsModule } from \"../@components/components.module\";\r\nimport { HttpService } from \"../@core/backend/common/api/http.service\";\r\nimport { R247ForgotPasswordComponent } from \"./components/forgot-password/forgot-password.component\";\r\nimport { R247ResetPasswordComponent } from \"./components/reset-password/reset-password.component\";\r\nimport { R247ImpersonationChallengeComponent } from \"./components/impersonation/impersonation-challenge.component\";\r\n\r\nconst GUARDS = [AuthGuard];\r\nconst PIPES = []; //AuthPipe];\r\nconst COMPONENTS = [\r\n  R247LoginComponent,\r\n  R247AuthComponent,\r\n  R247LogoutComponent,\r\n  R247ForgotPasswordComponent,\r\n  R247ResetPasswordComponent,\r\n  R247ImpersonationChallengeComponent,\r\n  NgxAuthBlockComponent,\r\n];\r\n\r\n@NgModule({\r\n  declarations: [...PIPES, ...COMPONENTS],\r\n  imports: [\r\n    AuthRoutingModule,\r\n    ReactiveFormsModule,\r\n    CommonModule,\r\n    FormsModule,\r\n    ComponentsModule,\r\n  ],\r\n  exports: [...PIPES],\r\n  providers: [HttpService],\r\n})\r\nexport class AuthModule {\r\n  static forRoot(): ModuleWithProviders<AuthModule> {\r\n    return {\r\n      ngModule: AuthModule,\r\n      providers: [\r\n        { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },\r\n        ...GUARDS,\r\n      ],\r\n    };\r\n  }\r\n}\r\n","\r\n\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'ngx-auth-block',\r\n  styleUrls: ['./auth-block.component.scss'],\r\n  template: `\r\n    <ng-content></ng-content>\r\n  `,\r\n})\r\nexport class NgxAuthBlockComponent {\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Location } from \"@angular/common\";\r\n\r\nimport { AuthService } from \"../../@core/backend/receptionist/services/auth.service\";\r\n@Component({\r\n  selector: \"r247-auth\",\r\n  styleUrls: [\"./auth.component.scss\"],\r\n  template: `\r\n    <r247-nav-bar [showAccountLink]=\"false\"></r247-nav-bar>\r\n    <div class=\"container-fluid\">\r\n      <router-outlet></router-outlet>\r\n    </div>\r\n  `,\r\n})\r\nexport class R247AuthComponent implements OnInit {\r\n  isAuthenticated = false;\r\n\r\n  constructor(protected location: Location, private authService: AuthService) {}\r\n\r\n  ngOnInit(): void {}\r\n}\r\n","import {\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  OnInit,\r\n} from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Router } from \"@angular/router\";\r\nimport { EMAIL_PATTERN } from \"../../../@core/utils/constants\";\r\nimport { PasswordService } from \"../../../@core/backend/receptionist/services/pasword-service\";\r\n\r\n@Component({\r\n  selector: \"r247-request-password-page\",\r\n  styleUrls: [\"./forgot-password.component.scss\"],\r\n  templateUrl: \"./forgot-password.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class R247ForgotPasswordComponent implements OnInit {\r\n  confirmCaption = \"Send Password Reset Link\";\r\n  requestPasswordForm: FormGroup;\r\n  emailSent = false;\r\n\r\n  constructor(\r\n    protected passwordService: PasswordService,\r\n    protected cd: ChangeDetectorRef,\r\n    protected fb: FormBuilder,\r\n    protected router: Router\r\n  ) {}\r\n\r\n  get email() {\r\n    return this.requestPasswordForm.get(\"email\");\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.requestPasswordForm = this.fb.group({\r\n      email: this.fb.control(\"\", [\r\n        Validators.required,\r\n        Validators.pattern(EMAIL_PATTERN),\r\n      ]),\r\n    });\r\n  }\r\n\r\n  requestPasswordReset(): void {\r\n    if (!this.requestPasswordForm.valid) {\r\n      this.requestPasswordForm.markAllAsTouched();\r\n      return;\r\n    }\r\n\r\n    this.passwordService.requestPasswordReset(this.email.value).subscribe({\r\n      next: (result) => this.onResetRequested(result),\r\n      error: (result) => this.onResetRequested(result),\r\n    });\r\n  }\r\n\r\n  onResetRequested(result: any) {\r\n    this.confirmCaption = \"Resend Password Reset Link\";\r\n    this.emailSent = true;\r\n    this.cd.detectChanges();\r\n  }\r\n}\r\n","<div class=\"reset-password-form\">\r\n  <div class=\"alert alert-success\" *ngIf=\"emailSent\">\r\n    Please check your emails. We have sent you a link to reset your password.\r\n  </div>\r\n  <form [formGroup]=\"requestPasswordForm\" (ngSubmit)=\"requestPasswordReset()\">\r\n  <div class=\"card\">\r\n    <div class=\"card-header\">\r\n      Forgot Password\r\n    </div>\r\n    <div class=\"card-body\">\r\n        <div class=\"reset-password-form\">\r\n          <div class=\"row\">\r\n            <div class=\"col-xs-12 col-md-3\">\r\n              <label for=\"input-email\">Email address:</label>\r\n            </div>\r\n            <div class=\"col-xs-12 col-md-9\">\r\n              <input  id=\"input-email\" class=\"form-control\" formControlName=\"email\" placeholder=\"Email address\">\r\n              <r247-validation-message [showError]=\"email?.hasError('pattern') && email.touched\" errorMessage=\"Please enter a valid email address\"></r247-validation-message>\r\n              <r247-validation-message [showError]=\"email?.errors?.required && email.touched\" errorMessage=\"Please enter your email address\"></r247-validation-message>\r\n            </div>\r\n          </div>\r\n        </div>    \r\n    </div>\r\n    <div class=\"card-footer\">\r\n      <button type=\"submit\" class=\"btn btn-primary float-right\">{{confirmCaption}}</button>\r\n    </div>\r\n  </div>\r\n</form>\r\n</div>","import {\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  OnInit,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { AuthService } from \"../../../@core/backend/receptionist/services/auth.service\";\r\n\r\n@Component({\r\n  selector: \"r247-impersonation-challenge\",\r\n  templateUrl: \"./impersonation-challenge.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class R247ImpersonationChallengeComponent implements OnInit {\r\n  token = \"\";\r\n\r\n  isValid = false;\r\n  validatingToken = false;\r\n\r\n  failUrl = \"https://admin.callcentre.services/users?login-fail=true\";\r\n\r\n  constructor(\r\n    protected cd: ChangeDetectorRef,\r\n    private route: ActivatedRoute,\r\n    private router: Router,\r\n    private authService: AuthService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    debugger;\r\n    this.validatingToken = true;\r\n\r\n    this.token = this.route.snapshot.queryParamMap.get(\"token\");\r\n\r\n    this.authService.challengeImpersonation(this.token).then(\r\n      (result) => {\r\n        this.validatingToken = false;\r\n        this.isValid = true;\r\n        this.router.navigateByUrl(`/${result}`);\r\n      },\r\n      (error) => {\r\n        this.validatingToken = false;\r\n        this.isValid = false;\r\n        window.location.href = this.failUrl;\r\n      }\r\n    );\r\n  }\r\n}\r\n","<div class=\"mt-5\" *ngIf=\"validatingToken\">\r\n    <div class=\"col-12 text-center\"><h1>Checking reset password Link...</h1></div>\r\n</div>\r\n<div class=\"mt-3\" *ngIf=\"!validatingToken && !isValid\">\r\n    <h1>Your login link has expired.</h1>\r\n    <a [href]=\"failUrl\" class=\"btn btn-primary\">Back To Reporting</a>\r\n</div>\r\n<div class=\"mt-5\" *ngIf=\"!validatingToken && isValid\">\r\n    <div class=\"col-12 text-center\"><h1>Link is valid. Redirecting To User's Dashboard...</h1></div>\r\n</div>","export * from './login/login.component';\r\nexport * from './auth-block/auth-block.component';\r\nexport * from './logout/logout.component';\r\n//export * from './request-password/request-password.component';\r\n//export * from './reset-password/reset-password.component';\r\nexport * from './auth.component';","import {\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  OnInit,\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { EMAIL_PATTERN } from \"../../../@core/utils/constants\";\r\nimport { AuthService } from \"../../../@core/backend/receptionist/services/auth.service\";\r\n\r\n@Component({\r\n  selector: \"r247-login\",\r\n  styleUrls: [\"./login.component.scss\"],\r\n  templateUrl: \"./login.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class R247LoginComponent implements OnInit {\r\n  LOGIN_ERROR = \"Unable to log you in please check your details and try again.\";\r\n\r\n  rememberMe = false;\r\n\r\n  error: string = \"\";\r\n  loginForm: FormGroup;\r\n\r\n  redirectUrl = \"/client\";\r\n\r\n  get email() {\r\n    return this.loginForm.get(\"email\");\r\n  }\r\n  get password() {\r\n    return this.loginForm.get(\"password\");\r\n  }\r\n\r\n  constructor(\r\n    protected cd: ChangeDetectorRef,\r\n    private fb: FormBuilder,\r\n    protected router: Router,\r\n    private route: ActivatedRoute,\r\n    private authService: AuthService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.error =\r\n      this.route.snapshot.queryParamMap.get(\"retry\") === \"1\"\r\n        ? this.LOGIN_ERROR\r\n        : \"\";\r\n\r\n    this.loginForm = this.fb.group({\r\n      email: this.fb.control(\"\", [\r\n        Validators.pattern(EMAIL_PATTERN),\r\n        Validators.required,\r\n      ]),\r\n      password: this.fb.control(\"\", [Validators.required]),\r\n      rememberMe: this.fb.control(false),\r\n    });\r\n  }\r\n\r\n  login(): void {\r\n    this.error = \"\";\r\n\r\n    if (this.email.errors?.required || this.password.errors?.required) {\r\n      this.loginForm.markAllAsTouched();\r\n      return;\r\n    }\r\n\r\n    this.authService.login(this.email.value, this.password.value).then(\r\n      (result: any) => {\r\n        var redirectUrl = this.route.snapshot.queryParamMap.get(\"returnUrl\");\r\n        this.router.navigateByUrl(\r\n          redirectUrl != null &&\r\n            redirectUrl.length > 0 &&\r\n            redirectUrl.startsWith(`/${result.userType}`)\r\n            ? redirectUrl\r\n            : `/${result.userType}`\r\n        );\r\n      },\r\n      () => {\r\n        this.error = this.LOGIN_ERROR;\r\n        this.cd.detectChanges();\r\n      }\r\n    );\r\n  }\r\n}\r\n","<div class=\"login-form mb-3\">\r\n  <div class=\"alert alert-danger\" *ngIf=\"error?.length >= 1\" role=\"alert\">  \r\n    {{error}}\r\n  </div>\r\n  <form [formGroup]=\"loginForm\" (ngSubmit)=\"login()\">\r\n    <div class=\"card\">\r\n      <div class=\"card-header\">Login</div>\r\n      <div class=\"card-body\">\r\n        \r\n          <div class=\"row mb-1\">\r\n            <div class=\"col-xs-12 col-md-3\">\r\n              <label for=\"input-email\">Email address:</label>\r\n            </div>\r\n            <div class=\"col-xs-12 col-md-9\">\r\n              <input type=\"text\" class=\"form-control\" id=\"input-email\" formControlName=\"email\" [attr.aria-invalid]=\"email.invalid && email.touched ? true : null\" placeholder=\"Email address\">\r\n              <r247-validation-message errorMessage=\"Please enter a valid email address\" [showError]=\"email?.hasError('pattern') && email.touched\"></r247-validation-message>\r\n              <r247-validation-message errorMessage=\"Please enter your email address\" [showError]=\"email?.errors?.required && email.touched\"></r247-validation-message>\r\n            </div>\r\n          </div>\r\n          <div class=\"row\">\r\n            <div class=\"col-xs-12 col-md-3\">\r\n              <label for=\"input-password\">Password:</label>\r\n            </div>\r\n            <div class=\"col-xs-12 col-md-9\">\r\n              <input type=\"text\" class=\"form-control\" id=\"input-password\" formControlName=\"password\" type=\"password\" placeholder=\"Password\">\r\n              <r247-validation-message errorMessage=\"Please enter your password\" [showError]=\"password?.errors?.required && password.touched\"></r247-validation-message>\r\n            </div>\r\n          </div>\r\n      </div>\r\n      <div class=\"card-footer\">\r\n        <div class=\"row\">\r\n          <div class=\"col-xs-12 col-md-6\">\r\n            <a href=\"#\" class=\"btn btn-secondary btn-block\" role=\"button\" routerLink=\"/password/forgot\">Forgot Password?</a>\r\n          </div>\r\n          <div class=\"mt-1 mt-md-0 col-xs-12 col-md-6\">\r\n            <button type=\"submit\" class=\"btn btn-primary btn-block\">Log In</button>\r\n          </div>\r\n        </div>\r\n      </div>\r\n  </div>\r\n</form>\r\n</div>\r\n<section class=\"another-action text-center\" aria-label=\"Register\">\r\n  Don't have an account? <a class=\"text-link\" routerLink=\"/register/number\">Register</a>\r\n</section>","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '../../../@core/backend/receptionist/services/auth.service';\r\n@Component({\r\n  selector: 'r247-logout',\r\n  templateUrl: './logout.component.html',\r\n})\r\nexport class R247LogoutComponent implements OnInit {\r\n\r\n  constructor(private authService: AuthService,\r\n              private router: Router) { }\r\n\r\n  ngOnInit(): void {\r\n    this.authService.logout();\r\n    this.router.navigate(['auth/login']);\r\n  }\r\n}\r\n","<h1>Logging Out...</h1>","import {\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  Inject,\r\n  OnInit,\r\n} from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { PasswordService } from \"../../../@core/backend/receptionist/services/pasword-service\";\r\n\r\n@Component({\r\n  selector: \"r247-reset-password-page\",\r\n  styleUrls: [\"./reset-password.component.scss\"],\r\n  templateUrl: \"./reset-password.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class R247ResetPasswordComponent implements OnInit {\r\n  submiting = false;\r\n  error = \"\";\r\n  resetPasswordForm: FormGroup;\r\n\r\n  status = 0;\r\n\r\n  token = \"\";\r\n\r\n  allowReset = false;\r\n  validatingToken = false;\r\n\r\n  constructor(\r\n    protected cd: ChangeDetectorRef,\r\n    protected fb: FormBuilder,\r\n    private passwordService: PasswordService,\r\n    private route: ActivatedRoute\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.validatingToken = true;\r\n\r\n    this.token = this.route.snapshot.queryParamMap.get(\"user\");\r\n\r\n    this.passwordService.validateResetPasswordToken(this.token).subscribe(\r\n      (result) => {\r\n        this.validatingToken = false;\r\n        this.allowReset = result;\r\n        this.cd.detectChanges();\r\n      },\r\n      (error) => {\r\n        this.validatingToken = false;\r\n        this.allowReset = false;\r\n        this.cd.detectChanges();\r\n      }\r\n    );\r\n\r\n    const passwordValidators = [Validators.required];\r\n\r\n    this.resetPasswordForm = this.fb.group({\r\n      password: this.fb.control(\"\", [...passwordValidators]),\r\n      confirmPassword: this.fb.control(\"\", [...passwordValidators]),\r\n    });\r\n  }\r\n\r\n  get password() {\r\n    return this.resetPasswordForm.get(\"password\");\r\n  }\r\n  get confirmPassword() {\r\n    return this.resetPasswordForm.get(\"confirmPassword\");\r\n  }\r\n\r\n  resetPassword(): void {\r\n    this.submiting = true;\r\n\r\n    this.passwordService\r\n      .resetPassword({\r\n        newPassword: this.resetPasswordForm.get(\"password\").value,\r\n        confirmPassword: this.resetPasswordForm.get(\"confirmPassword\").value,\r\n        token: this.token,\r\n      })\r\n      .subscribe((result: any) => {\r\n        this.status = 1;\r\n        this.submiting = false;\r\n        this.cd.detectChanges();\r\n      });\r\n  }\r\n}\r\n","<div class=\"mt-5\" *ngIf=\"validatingToken\">\r\n  <div class=\"col-12 text-center\"><h1>Checking reset password Link...</h1></div>\r\n</div>\r\n<div class=\"mt-3\" *ngIf=\"!validatingToken && !allowReset\">\r\n  <h1>Your password reset link has expired.</h1>\r\n  <a routerLink=\"/password/forgot\" class=\"btn btn-primary\">Request New Link</a>\r\n</div>\r\n<div class=\"reset-password-form\" *ngIf=\"!validatingToken && allowReset\">\r\n  <form *ngIf=\"status === 0\" [formGroup]=\"resetPasswordForm\" (ngSubmit)=\"resetPassword()\">\r\n  <div class=\"card\">\r\n    <div class=\"card-header\">\r\n      Reset Password\r\n    </div>\r\n    <div class=\"card-body\">\r\n        <div class=\"row mb-1\">\r\n          <div class=\"col-xs-12 col-md-4\">\r\n            <label for=\"input-password\">Password:</label>\r\n          </div>\r\n          <div class=\"col-xs-12 col-md-8\">\r\n            <input  id=\"input-password\" formControlName=\"password\" type=\"password\" class=\"form-control\" placeholder=\"Password\">\r\n            <r247-validation-message [showError]=\"password?.errors?.required && password.touched\" errorMessage=\"Please enter a password\"></r247-validation-message>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"col-xs-12 col-md-4\">\r\n            <label for=\"input-re-password\">Confirm Password:</label>\r\n          </div>\r\n          <div class=\"col-xs-12 col-md-8\">\r\n            <input  id=\"input-re-password\" class=\"form-control\" formControlName=\"confirmPassword\" type=\"password\" placeholder=\"Password\">\r\n            <r247-validation-message errorMessage=\"Please confirm your password\" [showError]=\"confirmPassword?.errors?.required && confirmPassword.touched\"></r247-validation-message>\r\n            <r247-validation-message errorMessage=\"Password and confirm password does not match!\" [showError]=\"password.value != confirmPassword.value && confirmPassword.touched && password.touched\"></r247-validation-message> \r\n          </div>\r\n        </div>\r\n    </div>\r\n    <div class=\"card-footer\">\r\n      <button type=\"submit\" class=\"btn btn-primary float-right\" [disabled]=\"submiting\">\r\n        <span *ngIf=\"!submiting\">Reset password</span>\r\n        <span *ngIf=\"submiting\">Reseting password...</span>\r\n      </button>\r\n    </div>\r\n  </div>\r\n</form>\r\n<div *ngIf=\"status === 1\" class=\"card\">\r\n  <div class=\"card-header\">\r\n    Reset Password\r\n  </div>\r\n  <div class=\"card-body\">\r\n      <p>Your password has been reset.</p>\r\n  </div>\r\n  <div class=\"card-footer\">\r\n    <a routerLink=\"/login\" class=\"btn btn-primary float-right\">Login</a>\r\n  </div>\r\n</div>\r\n</div>","import { Component, ChangeDetectionStrategy, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"r247-account-detail-pills\",\r\n  template: '<r247-pills [pills]=\"pills\"></r247-pills>',\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247AccountDetailPillsComponent {\r\n  pills = [\r\n    {\r\n      link: \"../account-detail\",\r\n      caption: \"Account Detail\",\r\n    },\r\n    {\r\n      link: \"../statements\",\r\n      caption: \"Statements\",\r\n    },\r\n  ];\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { FormBuilder, Validators } from \"@angular/forms\";\r\n\r\n@Injectable()\r\nexport class AddressFormBuilder {\r\n  constructor(private fb: FormBuilder) {}\r\n\r\n  private addressLine1 = \"\";\r\n  private addressLine2 = \"\";\r\n  private addressLine3 = \"\";\r\n  private city = \"\";\r\n  private county = \"\";\r\n  private country = \"\";\r\n  private postCode = \"\";\r\n\r\n  withAddressLine1(addressLine: string) {\r\n    this.addressLine1 = addressLine;\r\n    return this;\r\n  }\r\n\r\n  withAddressLine2(addressLine: string) {\r\n    this.addressLine2 = addressLine;\r\n    return this;\r\n  }\r\n\r\n  withAddressLine3(addressLine: string) {\r\n    this.addressLine3 = addressLine;\r\n    return this;\r\n  }\r\n\r\n  withCity(city: string) {\r\n    this.city = city;\r\n    return this;\r\n  }\r\n\r\n  withCounty(county: string) {\r\n    this.county = county;\r\n    return this;\r\n  }\r\n\r\n  withCountry(country: string) {\r\n    this.country = country;\r\n    return this;\r\n  }\r\n\r\n  withPostCode(postCode: string) {\r\n    this.postCode = postCode;\r\n    return this;\r\n  }\r\n\r\n  create() {\r\n    return this.fb.group({\r\n      addressLine1: [\r\n        this.addressLine1,\r\n        {\r\n          validators: [Validators.required],\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      addressLine2: [\r\n        this.addressLine2,\r\n        {\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      addressLine3: [\r\n        this.addressLine3,\r\n        {\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      city: [\r\n        this.city,\r\n        {\r\n          validators: [Validators.required],\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      county: [\r\n        this.county,\r\n        {\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      country: [\r\n        this.country,\r\n        {\r\n          validators: [Validators.required],\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      postCode: [\r\n        this.postCode,\r\n        {\r\n          validators: [Validators.required, Validators.minLength(6)],\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n    });\r\n  }\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from \"@angular/core\";\r\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@Component({\r\n  selector: \"r247-address-picker-list-modal\",\r\n  templateUrl: \"./address-picker-list-modal.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247AddressPickerListModalComponent {\r\n  constructor(public activeModal: NgbActiveModal) {}\r\n\r\n  @Input() addresses: any[];\r\n}\r\n","<div class=\"modal-header\">\r\n    <h4 class=\"modal-title\">Select Address</h4>\r\n    <button type=\"button\" class=\"close\" aria-label=\"Close\" (click)=\"activeModal.dismiss('Cross click')\">\r\n      <span aria-hidden=\"true\">&times;</span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body hp-none\">\r\n    <h1 class=\"text-center\" *ngIf=\"!addresses ||(addresses && addresses.length === 0)\">No Addresses Found</h1>\r\n      <div *ngIf=\"addresses?.length > 0\" class=\"list-group list-group-flush\">\r\n        <button type=\"button\" (click)=\"activeModal.close(address)\" class=\"list-group-item list-group-item-action\" *ngFor=\"let address of addresses\">{{address.text}}</button>\r\n      </div>\r\n  </div>","import { ChangeDetectionStrategy, Component, Input, OnInit, Output } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { EventEmitter } from \"events\";\r\nimport { HttpService } from \"../../@core/backend/common/api/http.service\";\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { R247AddressPickerListModalComponent } from \"./address-picker-list-modal.component\";\r\n\r\n@Component({\r\n    selector: 'r247-address-picker',\r\n    templateUrl: './address-picker.component.html',\r\n    changeDetection: ChangeDetectionStrategy.Default,\r\n  })\r\n  \r\n  export class R247AddressPickerComponent implements OnInit {\r\n    constructor(\r\n        private httpService: HttpService,\r\n        private fb: FormBuilder,\r\n        private modalService: NgbModal) {}\r\n\r\n    @Input() searchState = 'search';\r\n    @Input() addressSearchLabel = 'Address';\r\n    @Input() searchAgainLabel = 'Search Again';\r\n    @Input() address: FormGroup;\r\n    @Output() addressChanged = new EventEmitter();\r\n\r\n    showAddressPicker = false;\r\n\r\n    lookup: FormGroup;\r\n\r\n    get postCodeLookUp() { return this.lookup.get('postCode'); }\r\n\r\n    get addressLine1() { return this.address.get('addressLine1'); }\r\n    get addressLine2() { return this.address.get('addressLine2'); }\r\n    get addressLine3() { return this.address.get('addressLine3'); }\r\n    get city() { return this.address.get('city'); }\r\n    get county() { return this.address.get('county'); }\r\n    get country() { return this.address.get('country'); }\r\n    get postCode() { return this.address.get('postCode'); }\r\n\r\n    addresses = [];\r\n\r\n    ngOnInit(): void {\r\n        this.lookup = this.fb.group({\r\n            postCode: ['']\r\n        });\r\n    }\r\n\r\n    enterManualAddress() {\r\n        this.searchState = 'show-address';\r\n        this.showAddressPicker = false;\r\n      }\r\n    \r\n      searchAgain() {\r\n        this.searchState = 'search';\r\n        this.showAddressPicker = false;\r\n\r\n        this.lookup.reset();\r\n        this.address.reset();\r\n      }\r\n\r\n      postCodeCompanyLookup() {\r\n        let postCode = this.lookup.get('postCode').value;\r\n        this.httpService.get(`address/${postCode}`).pipe().subscribe(response => {\r\n          var modal = this.modalService.open(\r\n            R247AddressPickerListModalComponent, \r\n            { \r\n              scrollable: true, \r\n              size: 'lg',\r\n            });\r\n          modal.componentInstance.addresses = this.extractAddressFromResponse(response, postCode);\r\n          modal.result.then(x => this.selectAddress(x));\r\n        });\r\n      }\r\n    \r\n      extractAddressFromResponse(response, postCode) {\r\n        let addresses = [];\r\n    \r\n          for (let address of response.data.addresses)\r\n          {\r\n            let fullAddress = '';\r\n            for (let addressLine of address.formatted_address)\r\n            {\r\n              if (addressLine.length > 0) \r\n                fullAddress += `${addressLine}, `\r\n            }\r\n    \r\n            addresses.push({\r\n              text: fullAddress.substring(0, fullAddress.length - 2),\r\n              addressLine1: address.line_1,\r\n              addressLine2: address.line_2,\r\n              addressLine3: address.line_3,\r\n              city: address.town_or_city,\r\n              county: address.county,\r\n              country: address.country,\r\n              postCode: postCode.toUpperCase()\r\n            });\r\n          }\r\n\r\n          return addresses;\r\n      }\r\n\r\n      selectAddress(address) {\r\n        \r\n        this.searchState = 'show-address';\r\n        this.showAddressPicker = false;\r\n    \r\n        this.address.patchValue({\r\n          addressLine1: address.addressLine1,\r\n          addressLine2: address.addressLine2,\r\n          addressLine3: address.addressLine3,\r\n          city: address.city,\r\n          county: address.county,\r\n          country: address.country,\r\n          postCode: address.postCode\r\n        });\r\n      }\r\n  }","<div class=\"row mb-1\" *ngIf=\"searchState === 'search'\">\r\n    <div class=\"col-xs-12 col-md-3 col-lg-3\">\r\n      <label for=\"input-company-name\">{{addressSearchLabel}}</label>\r\n    </div>\r\n    <div class=\"col-xs-6 col-md-9 col-lg-4\">\r\n        <form [formGroup]=\"lookup\">\r\n            <div class=\"input-group\">\r\n              <input type=\"text\" class=\"form-control\" placeholder=\"Postcode\" formControlName=\"postCode\">\r\n              <div class=\"input-group-append\">\r\n                <button class=\"btn btn-secondary\" type=\"button\" (click)=\"postCodeCompanyLookup()\" [disabled]=\"postCodeLookUp.value === ''\">Search</button>\r\n              </div>\r\n            </div>\r\n        </form>\r\n    </div>\r\n    <div class=\"col-xs-12 col-md-4 col-lg-3 mt-1 mt-md-0\">\r\n      <button class=\"btn btn-primary d-none d-md-block\" (click)=\"enterManualAddress()\">Enter Address Manually</button>\r\n      <button class=\"btn btn-outline-primary d-block d-md-none\" (click)=\"enterManualAddress()\">Enter Address Manually</button>\r\n    </div>\r\n</div>\r\n<div *ngIf=\"searchState === 'show-address'\">\r\n  <form [formGroup]=\"address\">\r\n    <div class=\"row mt-2 mb-2 d-block d-md-none\">\r\n      <div class=\"col-12\">\r\n        <button class=\"d-block d-md-none btn btn-outline-primary\" (click)=\"searchAgain()\">{{searchAgainLabel}}</button>\r\n        <button class=\"d-none d-md-block btn btn-secondary\" (click)=\"searchAgain()\">{{searchAgainLabel}}</button>\r\n      </div>\r\n    </div>\r\n    <div class=\"row mb-1\">\r\n      <div class=\"col-xs-12 col-md-3\">\r\n        <label for=\"input-street\">Address Line 1</label>\r\n      </div>\r\n      <div class=\"col-xs-12 col-md-7 col-lg-4\">\r\n        <input type=\"text\" class=\"form-control\" placeholder=\"Address Line 1\" formControlName=\"addressLine1\" required />\r\n        <r247-validation-message errorMessage=\"Plese enter the first line of your address\" [showError]=\"addressLine1?.errors?.required && addressLine1.touched\"></r247-validation-message>\r\n      </div>\r\n      <div class=\"d-none d-md-block col-md-2 col-lg-4\">\r\n        <button class=\"btn btn-secondary\" (click)=\"searchAgain()\">{{searchAgainLabel}}</button>\r\n      </div>\r\n    </div>\r\n    <div class=\"row mb-1\">\r\n      <div class=\"col-xs-12 col-md-3\">\r\n        <label for=\"input-name\">Address Line 2</label>\r\n      </div>\r\n      <div class=\"col-xs-12 col-md-7 col-lg-4 mb-1\">\r\n        <input type=\"text\" class=\"form-control\" placeholder=\"Address Line 2\" formControlName=\"addressLine2\" />\r\n      </div>\r\n    </div>\r\n    <div class=\"row mb-1\">\r\n      <div class=\"col-xs-12 col-md-3\">\r\n        <label for=\"input-company-name\">Address Line 3</label>\r\n      </div>\r\n      <div class=\"col-xs-12 col-md-7 col-lg-4 mb-1\">\r\n        <input type=\"text\" class=\"form-control\" placeholder=\"Address Line 3\" formControlName=\"addressLine3\" />\r\n      </div>\r\n    </div>\r\n    <div class=\"row mb-1\">\r\n      <div class=\"col-xs-12 col-md-3\">\r\n        <label for=\"input-company-name\">City</label>\r\n      </div>\r\n      <div class=\"col-xs-12 col-md-7 col-lg-4\"> \r\n        <input type=\"text\" class=\"form-control\" placeholder=\"City\" formControlName=\"city\" required />\r\n        <r247-validation-message errorMessage=\"Please enter a city\" [showError]=\"city?.errors?.required && city.touched\"></r247-validation-message>\r\n      </div>\r\n    </div>\r\n    <div class=\"row mb-1\">\r\n      <div class=\"col-xs-12 col-md-3\">\r\n        <label for=\"input-company-name\">County</label>\r\n      </div>\r\n      <div class=\"col-xs-12 col-md-7 col-lg-4\">\r\n        <input type=\"text\" class=\"form-control\" placeholder=\"County\" formControlName=\"county\" required />\r\n        <r247-validation-message errorMessage=\"Please enter a county\" [showError]=\"county?.errors?.required && county.touched\"></r247-validation-message>\r\n      </div>\r\n    </div>\r\n    <div class=\"row mb-1\">\r\n      <div class=\"col-xs-12 col-md-3\">\r\n        <label for=\"input-company-name\">Country</label>\r\n      </div>\r\n      <div class=\"col-xs-12 col-md-7 col-lg-4\">\r\n        <input type=\"text\" class=\"form-control\" placeholder=\"Country\" formControlName=\"country\" required />\r\n        <r247-validation-message errorMessage=\"Please enter a country\" [showError]=\"country?.errors?.required && country.touched\"></r247-validation-message>\r\n      </div>\r\n    </div>\r\n    <div class=\"row mb-1\">\r\n      <div class=\"col-xs-12 col-md-3\">\r\n        <label for=\"input-company-name\">Postcode</label>\r\n      </div>\r\n      <div class=\"col-xs-12 col-md-7 col-lg-4\">\r\n        <input type=\"text\" class=\"form-control\" placeholder=\"Postcode\" formControlName=\"postCode\" required />\r\n        <r247-validation-message errorMessage=\"Please enter a post code\" [showError]=\"postCode?.errors?.required && postCode.touched\"></r247-validation-message>\r\n      </div>\r\n    </div>\r\n  </form>\r\n</div>","import { Injectable } from \"@angular/core\";\r\nimport { FormBuilder, Validators } from \"@angular/forms\";\r\n\r\n@Injectable()\r\nexport class CardDetailsFormBuilder {\r\n  constructor(private fb: FormBuilder) {}\r\n\r\n  private cardholderName = '';\r\n\r\n  withCardholderName(cardholderName:string)\r\n  {\r\n    this.cardholderName = cardholderName;\r\n    return this;\r\n  }\r\n\r\n  private cardNumber = '';\r\n\r\n  withCardNumber(cardNumber:string)\r\n  {\r\n    this.cardNumber = cardNumber;\r\n    return this;\r\n  }\r\n\r\n  private cvc = '';\r\n\r\n  withCvc(cvc:string)\r\n  {\r\n    this.cvc = cvc;\r\n    return this;\r\n  }\r\n\r\n  private expiryMonth = '';\r\n\r\n  withExpiryMonth(expiryMonth:string)\r\n  {\r\n    this.expiryMonth = expiryMonth;\r\n    return this;\r\n  }\r\n\r\n  private expiryYear = '';\r\n\r\n  withExpiryYear(expiryYear:string)\r\n  {\r\n    this.expiryYear = expiryYear;\r\n    return this;\r\n  }\r\n\r\n  private cardDescription = '';\r\n\r\n  withCardDescription(cardDescription:string)\r\n  {\r\n    this.cardDescription = cardDescription;\r\n    return this;\r\n  }\r\n\r\n  private saveCardDetails = false;\r\n\r\n  enableSaveCardDetails()\r\n  {\r\n    this.saveCardDetails = true;\r\n    return this;\r\n  }\r\n\r\n  disableSaveCardDetails()\r\n  {\r\n    this.saveCardDetails = false;\r\n    return this;\r\n  }\r\n\r\n create() {\r\n    return this.fb.group({\r\n      name: [this.cardholderName, [Validators.required]],\r\n      number: [this.cardNumber, [Validators.required, Validators.minLength(16),Validators.maxLength(16)]],\r\n      cvc: [this.cvc, [Validators.required, Validators.minLength(3),Validators.maxLength(3)]],\r\n      expiryMonth: [this.expiryMonth, [Validators.required,Validators.minLength(2),Validators.maxLength(2)]],\r\n      expiryYear: [this.expiryYear, [Validators.required,Validators.minLength(2),Validators.maxLength(2)]],\r\n      saveCardDetails: [this.saveCardDetails, []],\r\n      cardDescription: [this.cardDescription, []]\r\n    });\r\n  }\r\n}","import { Component, ChangeDetectionStrategy, Output, EventEmitter, Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n  selector: 'r247-card-details',\r\n  templateUrl: './card-details.component.html',\r\n  changeDetection: ChangeDetectionStrategy.Default\r\n})\r\n\r\nexport class R247CardDetailsComponent {\r\n  constructor() { }\r\n  \r\n  get cardholderName() { return this.cardDetailsForm.get('name'); }\r\n  get cardNumber() { return this.cardDetailsForm.get('number'); }\r\n  get cvc() { return this.cardDetailsForm.get('cvc'); }\r\n  get expiryMonth() { return this.cardDetailsForm.get('expiryMonth'); }\r\n  get expiryYear() { return this.cardDetailsForm.get('expiryYear'); }\r\n  get cardDescription() { return this.cardDetailsForm.get('cardDescription'); }\r\n  get saveCardDetails() { return this.cardDetailsForm.get('saveCardDetails'); }\r\n\r\n  @Input() forceSaveCardDetails = false;\r\n  @Input() cardholderNameDefault = '';\r\n  @Input() cardDetailsForm: FormGroup;\r\n  @Output() cardDetailsFormChanged = new EventEmitter<FormGroup>(); \r\n}","<form [formGroup]=\"cardDetailsForm\">\r\n    <div class=\"row mb-1\">\r\n      <div class=\"col-xs-12 col-md-3\">\r\n        <label for=\"username\">Full Name (as appears on card)</label>\r\n      </div>\r\n      <div class=\"col-xs-12 col-md-4 col-lg-4\">\r\n        <input type=\"text\" nbinput name=\"username\" placeholder=\"Full name as it appears on your card\"  required class=\"form-control\" formControlName=\"name\">\r\n        <r247-validation-message errorMessage=\"Please enter the cardholder name\" [showError]=\"cardholderName.errors?.required && cardholderName.touched\"></r247-validation-message>\r\n      </div>\r\n    </div>\r\n    <div class=\"row mb-1\">\r\n      <div class=\"col-xs-12 col-md-3\">\r\n        <label for=\"cardNumber\">Card number</label>\r\n      </div>\r\n      <div class=\"col-xs-12 col-md-4 col-lg-4\">\r\n        <input type=\"text\" nbinput name=\"cardNumber\" formControlName=\"number\" (keydown.Space)=\"$event.preventDefault();\" placeholder=\"Your card number\" class=\"form-control\" required>\r\n        <r247-validation-message errorMessage=\"Please enter the card number\" [showError]=\"cardNumber.errors?.required && cardNumber.touched\"></r247-validation-message>\r\n        <r247-validation-message errorMessage=\"Card number is too short\" [showError]=\"cardNumber.errors?.minlength && cardNumber.touched\"></r247-validation-message>\r\n        <r247-validation-message errorMessage=\"Card number is too long\" [showError]=\"cardNumber.errors?.maxlength && cardNumber.touched\"></r247-validation-message>\r\n      </div>\r\n      <div class=\"col-xs-12 col-md-2 col-lg-2 mt-1 mt-md-0\">\r\n        <span class=\"text-secondary\"><i class=\"fab fa-cc-visa fa-3x mr-2\"></i></span>\r\n        <span class=\"text-secondary\"><i class=\"fab fa-cc-mastercard fa-3x\"></i></span>\r\n      </div>\r\n    </div>\r\n    <div class=\"row mb-1\">\r\n      <div class=\"col-xs-12 col-md-3\">\r\n        <label>Expiration</label>\r\n      </div>\r\n      <div class=\"col-xs-12 col-md-2 col-lg-2\">\r\n        <div class=\"input-group\">\r\n          <input nbinput type=\"text\" placeholder=\"MM\" name=\"\" formControlName=\"expiryMonth\" (keydown.Space)=\"$event.preventDefault();\" class=\"form-control\" required>\r\n          <input nbinput type=\"text\" placeholder=\"YY\" name=\"\" formControlName=\"expiryYear\" (keydown.Space)=\"$event.preventDefault();\" class=\"form-control\" required>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"row mb-1\">\r\n      <div class=\"offset-md-3 offset-lg-3 col-xs-12 col-md-4 col-lg-4\">\r\n        <r247-validation-message errorMessage=\"Please enter the expiry month\" [showError]=\"expiryMonth.errors?.required && expiryMonth.touched\"></r247-validation-message>\r\n        <r247-validation-message errorMessage=\"Expiry month is too short\" [showError]=\"expiryMonth.errors?.minlength && expiryMonth.touched\"></r247-validation-message>\r\n        <r247-validation-message errorMessage=\"Expiry month number is too long\" [showError]=\"expiryMonth.errors?.maxlength && expiryMonth.touched\"></r247-validation-message>\r\n        <r247-validation-message errorMessage=\"Please enter the expiry year\" [showError]=\"expiryYear.errors?.required && expiryYear.touched\"></r247-validation-message>\r\n        <r247-validation-message errorMessage=\"Expiry year is too short\" [showError]=\"expiryYear.errors?.minlength && expiryYear.touched\"></r247-validation-message>\r\n        <r247-validation-message errorMessage=\"Expiry year number is too long\" [showError]=\"expiryYear.errors?.maxlength && expiryYear.touched\"></r247-validation-message>\r\n      </div>\r\n    </div>\r\n    <div class=\"row mb-1\">\r\n      <div class=\"col-xs-12 col-md-3\">\r\n        <label data-toggle=\"tooltip\" title=\"Three-digits code on the back of your card\">CVC</label>\r\n      </div>\r\n      <div class=\"col-xs-12 col-md-1 col-lg-1\">\r\n        <input type=\"text\" formControlName=\"cvc\" required class=\"form-control\" (keydown.Space)=\"$event.preventDefault();\">\r\n      </div>\r\n    </div>\r\n    <div class=\"row\">\r\n      <div class=\"offset-md-3 offset-lg-3 col-xs-12 col-md-4 col-lg-4\">\r\n        <r247-validation-message errorMessage=\"Please enter the cvc\" [showError]=\"cvc.errors?.required && cvc.touched\"></r247-validation-message>\r\n        <r247-validation-message errorMessage=\"Cvc is too short\" [showError]=\"cvc.errors?.minlength && cvc.touched\"></r247-validation-message>\r\n        <r247-validation-message errorMessage=\"Cvc number is too long\" [showError]=\"cvc.errors?.maxlength && cvc.touched\"></r247-validation-message>\r\n      </div>\r\n    </div>\r\n    <div class=\"row mt-3\">\r\n      <div class=\"offset-md-3 offset-lg-3 col-xs-12 col-md-9 col-lg-9\">\r\n        <div class=\"form-check\">\r\n          <input class=\"form-check-input\" formControlName=\"saveCardDetails\" name=\"save-card-details\"  type=\"checkbox\" [attr.disabled]=\"forceSaveCardDetails ? true : null\">\r\n          <label class=\"ml-3\" for=\"auto-top-up\">Save details for future use (your details will be saved securely with Barclaycard Alias Gateway)</label>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"row mb-1\">\r\n      <div class=\"col-xs-12 col-md-3\">\r\n        <label for=\"cardDescription\">Card Description</label>\r\n      </div>\r\n      <div class=\"col-xs-12 col-md-4 col-lg-4\">\r\n        <input type=\"text\" placeholder=\"Card description e.g. Accounts Credit Card\"   class=\"form-control\" formControlName=\"cardDescription\" [attr.disabled]=\"!saveCardDetails.value ? true : null\" [required]=\"saveCardDetails.value\">\r\n        <r247-validation-message errorMessage=\"Please enter a description of the card e.g. Accounts Credit Card\" [showError]=\"cardDescription.errors?.required && cardDescription.touched\"></r247-validation-message>\r\n      </div>\r\n    </div>\r\n  </form>","\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { PasswordService } from '../../@core/backend/receptionist/services/pasword-service';\r\n\r\n@Component({\r\n  selector: 'r247-change-password',\r\n  styleUrls: ['./change-password.component.scss'],\r\n  templateUrl: './change-password.component.html',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\n\r\nexport class R247ChangePasswordComponent implements OnInit {\r\n  submitted = false;\r\n  success = false;\r\n  errorMessage = '';\r\n  changePasswordForm: FormGroup;\r\n  \r\n  constructor(\r\n    protected cd: ChangeDetectorRef,\r\n    protected fb: FormBuilder,\r\n    private passwordService: PasswordService) { }\r\n\r\n  ngOnInit(): void {\r\n    const passwordValidators = [Validators.required];\r\n\r\n    this.changePasswordForm = this.fb.group({\r\n      currentPassword: this.fb.control('', [...passwordValidators]),\r\n      newPassword: this.fb.control('', [...passwordValidators]),\r\n      confirmPassword: this.fb.control('', [...passwordValidators]),\r\n    });\r\n  }\r\n\r\n  get currentPassword() { return this.changePasswordForm.get('currentPassword'); }\r\n  get newPassword() { return this.changePasswordForm.get('newPassword'); }\r\n  get confirmPassword() { return this.changePasswordForm.get('confirmPassword'); }\r\n\r\n  changePassword(): void {\r\n    this.submitted = true;\r\n    this.errorMessage = '';\r\n\r\n\r\n    this.passwordService.changePassword({ \r\n      currentPassword: this.currentPassword.value,\r\n      newPassword: this.newPassword.value, \r\n      confirmPassword: this.confirmPassword.value,  \r\n    }).subscribe((result: any) => {\r\n      this.submitted = false;\r\n      this.success = result.success;\r\n\r\n      if (!result.success)\r\n        this.errorMessage = result.errorMessage;\r\n\r\n      this.cd.detectChanges();\r\n    });\r\n  }\r\n}","<div class=\"change-password-form mt-5\">\r\n    <div class=\"alert alert-danger\" *ngIf=\"errorMessage?.length >= 1\" role=\"alert\">  \r\n      {{errorMessage}}\r\n    </div>\r\n    <div class=\"alert alert-success\" *ngIf=\"success\" role=\"alert\">  \r\n      Your password has been changed.\r\n    </div>\r\n    <form [formGroup]=\"changePasswordForm\">\r\n      <div class=\"card\">\r\n        <div class=\"card-header\">\r\n          Change Password\r\n        </div>\r\n        <div class=\"card-body\">\r\n              <div class=\"row mb-1\">\r\n                  <div class=\"col-xs-12 col-md-4\">\r\n                    <label for=\"input-password\">Current Password:</label>\r\n                  </div>\r\n                  <div class=\"col-xs-12 col-md-8\">\r\n                    <input  id=\"input-password\" formControlName=\"currentPassword\" type=\"password\" class=\"form-control\" placeholder=\"Current Password\">\r\n                    <r247-validation-message [showError]=\"currentPassword?.errors?.required && currentPassword.touched\" errorMessage=\"Please enter your current password\"></r247-validation-message>\r\n                  </div>\r\n                </div>\r\n            <div class=\"row mb-1\">\r\n              <div class=\"col-xs-12 col-md-4\">\r\n                <label for=\"input-password\">New Password:</label>\r\n              </div>\r\n              <div class=\"col-xs-12 col-md-8\">\r\n                <input  id=\"input-password\" formControlName=\"newPassword\" type=\"password\" class=\"form-control\" placeholder=\"New Password\">\r\n                <r247-validation-message [showError]=\"newPassword?.errors?.required && newPassword.touched\" errorMessage=\"Please enter a new password\"></r247-validation-message>\r\n              </div>\r\n            </div>\r\n            <div class=\"row\">\r\n              <div class=\"col-xs-12 col-md-4\">\r\n                <label for=\"input-re-password\">Confirm Password:</label>\r\n              </div>\r\n              <div class=\"col-xs-12 col-md-8\">\r\n                <input  id=\"input-re-password\" class=\"form-control\" formControlName=\"confirmPassword\" type=\"password\" placeholder=\"Confirm Password\">\r\n                <r247-validation-message errorMessage=\"Please confirm your password\" [showError]=\"confirmPassword?.errors?.required && confirmPassword.touched\"></r247-validation-message>\r\n                <r247-validation-message errorMessage=\"Password and confirm password does not match!\" [showError]=\"newPassword.value != confirmPassword.value && confirmPassword.touched && newPassword.touched\"></r247-validation-message> \r\n              </div>\r\n            </div>\r\n        </div>\r\n        <div class=\"card-footer\">\r\n          <button type=\"submit\" class=\"btn btn-primary float-right\" (click)=\"changePassword()\">Confirm</button>\r\n        </div>\r\n      </div>\r\n    </form>\r\n  </div>","import { NgModule } from \"@angular/core\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { R247ValidationMessageComponent } from \"./validation-message/validation-message.component\";\r\nimport { R247TopUpInputComponent } from \"./top-up-input/top-up-input.component\";\r\nimport { R247CardDetailsComponent } from \"./card-details-form/card-details.component\";\r\nimport { CardDetailsFormBuilder } from \"./card-details-form/card-details-form-builder\";\r\nimport { R247AddressPickerComponent } from \"./address-picker/address-picker.component\";\r\nimport { AddressFormBuilder } from \"./address-picker/address-form-builder\";\r\nimport { R247AddressPickerListModalComponent } from \"./address-picker/address-picker-list-modal.component\";\r\nimport { R247TopUpFormComponent } from \"./top-up-form/top-up-form.component\";\r\nimport { TopUpFormBuilder } from \"./top-up-form/top-up-form-builder\";\r\nimport { LessThanOnePencePipe } from \"./less-than-one-pence-pipe/less-than-one-pence.pipe\";\r\nimport { R247NavBarComponent } from \"./nav-bar/nav-bar.component\";\r\nimport { LessThanTenPipe } from \"./less-than-ten-pipe/less-than-ten.pipe\";\r\nimport { R247DateRangePickerComponent } from \"./date-range-picker/date-range-picker.component\";\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { R247ProcessingLoaderComponent } from \"./processing-loader/processing-loader.component\";\r\nimport { R247ChangePasswordComponent } from \"./change-password/change-password.component\";\r\nimport { R247GraphWrapperComponent } from \"./graph-wrapper/graph-wrapper.component\";\r\nimport { ChartModule } from \"angular2-chartjs\";\r\nimport { R247SearchBarComponent } from \"./search-bar/search-bar.component\";\r\nimport { PencePerPipe } from \"./pence-per-pipe/pence-per.pipe\";\r\nimport { PencePipe } from \"./pence-pipe/pence.pipe\";\r\nimport { R247InfoIconComponent } from \"./info-icon/info-icon.component\";\r\nimport { StatementsScreenComponent } from \"./statements/statements.component\";\r\nimport { R247PillsComponent } from \"./pills/pills.component\";\r\nimport { R247AccountDetailPillsComponent } from \"./account-detail-pills/account-detail-pills.component\";\r\n\r\nconst COMPONENTS = [\r\n  R247ValidationMessageComponent,\r\n  R247TopUpFormComponent,\r\n  R247TopUpInputComponent,\r\n  R247CardDetailsComponent,\r\n  R247AddressPickerComponent,\r\n  R247AddressPickerListModalComponent,\r\n  R247DateRangePickerComponent,\r\n  R247NavBarComponent,\r\n  R247ProcessingLoaderComponent,\r\n  R247ChangePasswordComponent,\r\n  R247GraphWrapperComponent,\r\n  R247SearchBarComponent,\r\n  R247InfoIconComponent,\r\n  StatementsScreenComponent,\r\n  R247PillsComponent,\r\n  R247AccountDetailPillsComponent,\r\n];\r\n\r\nconst PIPES = [LessThanOnePencePipe, LessThanTenPipe, PencePerPipe, PencePipe];\r\n\r\n@NgModule({\r\n  imports: [\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    CommonModule,\r\n    NgbModule,\r\n    RouterModule,\r\n    ChartModule,\r\n  ],\r\n  providers: [CardDetailsFormBuilder, TopUpFormBuilder, AddressFormBuilder],\r\n  exports: [...COMPONENTS, ...PIPES],\r\n  declarations: [...COMPONENTS, ...PIPES],\r\n})\r\nexport class ComponentsModule {}\r\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport {\r\n  NgbDate,\r\n  NgbCalendar,\r\n  NgbDateParserFormatter,\r\n} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@Component({\r\n  selector: \"r247-date-range-picker\",\r\n  templateUrl: \"./date-range-picker.component.html\",\r\n})\r\nexport class R247DateRangePickerComponent {\r\n  hoveredDate: NgbDate | null = null;\r\n\r\n  @Input() fromDate: NgbDate;\r\n  @Input() toDate: NgbDate;\r\n\r\n  @Output() dateRangeChange = new EventEmitter();\r\n\r\n  constructor(\r\n    private calendar: NgbCalendar,\r\n    public formatter: NgbDateParserFormatter\r\n  ) {\r\n    this.fromDate = calendar.getToday();\r\n    this.toDate = calendar.getNext(calendar.getToday(), \"d\", 10);\r\n  }\r\n\r\n  onDateSelection(date: NgbDate) {\r\n    if (!this.fromDate && !this.toDate) {\r\n      this.fromDate = date;\r\n    } else if (\r\n      this.fromDate &&\r\n      !this.toDate &&\r\n      date &&\r\n      date.after(this.fromDate)\r\n    ) {\r\n      this.toDate = date;\r\n    } else {\r\n      this.toDate = null;\r\n      this.fromDate = date;\r\n    }\r\n\r\n    this.dateRangeChange.emit({\r\n      fromDate: this.fromDate,\r\n      toDate: this.toDate,\r\n    });\r\n  }\r\n\r\n  onDateblur() {\r\n    this.dateRangeChange.emit({\r\n      fromDate: this.fromDate,\r\n      toDate: this.toDate,\r\n    });\r\n  }\r\n\r\n  isHovered(date: NgbDate) {\r\n    return (\r\n      this.fromDate &&\r\n      !this.toDate &&\r\n      this.hoveredDate &&\r\n      date.after(this.fromDate) &&\r\n      date.before(this.hoveredDate)\r\n    );\r\n  }\r\n\r\n  isInside(date: NgbDate) {\r\n    return this.toDate && date.after(this.fromDate) && date.before(this.toDate);\r\n  }\r\n\r\n  isRange(date: NgbDate) {\r\n    return (\r\n      date.equals(this.fromDate) ||\r\n      (this.toDate && date.equals(this.toDate)) ||\r\n      this.isInside(date) ||\r\n      this.isHovered(date)\r\n    );\r\n  }\r\n\r\n  validateInput(currentValue: NgbDate | null, input: string): NgbDate | null {\r\n    const parsed = this.formatter.parse(input);\r\n    return parsed && this.calendar.isValid(NgbDate.from(parsed))\r\n      ? NgbDate.from(parsed)\r\n      : currentValue;\r\n  }\r\n}\r\n","<form class=\"form-inline\">\r\n    <div class=\"form-group hidden\">\r\n      <div class=\"input-group\">\r\n        <input name=\"datepicker\"\r\n               class=\"form-control\"\r\n               ngbDatepicker\r\n               type=\"hidden\"\r\n               #datepicker=\"ngbDatepicker\"\r\n               [autoClose]=\"'outside'\"\r\n               (dateSelect)=\"onDateSelection($event)\"\r\n               [displayMonths]=\"2\"\r\n               [dayTemplate]=\"t\"\r\n               outsideDays=\"hidden\"\r\n               [startDate]=\"fromDate!\"\r\n               (blur)=\"onDateblur()\"\r\n               tabindex=\"-1\">\r\n        <ng-template #t let-date let-focused=\"focused\">\r\n          <span class=\"custom-day\"\r\n                [class.focused]=\"focused\"\r\n                [class.range]=\"isRange(date)\"\r\n                [class.faded]=\"isHovered(date) || isInside(date)\"\r\n                (mouseenter)=\"hoveredDate = date\"\r\n                (mouseleave)=\"hoveredDate = null\">\r\n            {{ date.day }}\r\n          </span>\r\n        </ng-template>\r\n      </div>\r\n    </div>\r\n    <div class=\"form-group\">\r\n      <div class=\"input-group\">\r\n            <input #dpFromDate\r\n                class=\"form-control\" placeholder=\"yyyy-mm-dd\"\r\n                name=\"dpFromDate\"\r\n                [value]=\"formatter.format(fromDate)\"\r\n                (input)=\"fromDate = validateInput(fromDate, dpFromDate.value)\">\r\n            <input #dpToDate\r\n                class=\"form-control\" placeholder=\"yyyy-mm-dd\"\r\n                name=\"dpToDate\"\r\n                [value]=\"formatter.format(toDate)\"\r\n                (blur)=\"onDateblur()\"\r\n                (input)=\"toDate = validateInput(toDate, dpToDate.value)\">\r\n            <div class=\"input-group-append\">\r\n                <button class=\"btn btn-secondary\" (click)=\"datepicker.toggle()\" type=\"button\" title=\"Click to select a date range\"><i class=\"fas fa-calendar\"></i></button>\r\n            </div>\r\n      </div>\r\n    </div>\r\n  </form>","import {\r\n  Component,\r\n  ChangeDetectionStrategy,\r\n  Input,\r\n  OnInit,\r\n} from \"@angular/core\";\r\nimport { GraphDataBuilder } from \"../../@core/utils/graph-data-builder\";\r\nimport { of } from \"rxjs\";\r\n\r\n@Component({\r\n  selector: \"r247-graph\",\r\n  templateUrl: \"./graph-wrapper.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247GraphWrapperComponent implements OnInit {\r\n  constructor(private graphDataBuilder: GraphDataBuilder) {}\r\n\r\n  @Input() data = [];\r\n  @Input() yAxisLabel = \"\";\r\n  @Input() formatTicks = (value, index, ticks) => value;\r\n  @Input() stepSize = 1;\r\n\r\n  graphData$ = of({});\r\n  options = {};\r\n\r\n  ngOnInit(): void {\r\n    this.graphData$ = this.graphDataBuilder.build(this.data);\r\n\r\n    var max =\r\n      Math.ceil(Math.max(...this.data.map((x: any) => x.value)) / 10) * 10;\r\n\r\n    this.options = {\r\n      responsive: true,\r\n      maintainAspectRatio: true,\r\n      legend: {\r\n        display: false,\r\n      },\r\n      scales: {\r\n        yAxes: [\r\n          {\r\n            display: true,\r\n            scaleLabel: {\r\n              display: true,\r\n              labelString: this.yAxisLabel,\r\n              fontSize: 16,\r\n              fontStyle: \"bold\",\r\n            },\r\n            ticks: {\r\n              beginAtZero: true,\r\n              callback: this.formatTicks,\r\n              stepSize: this.stepSize,\r\n              max: max > 0 ? max : this.stepSize > 10 ? this.stepSize : 10,\r\n            },\r\n          },\r\n        ],\r\n      },\r\n    };\r\n  }\r\n}\r\n","<div *ngIf=\"data && data?.length >= 1\">\r\n    <chart type=\"bar\" *ngIf=\"graphData$ | async; let graphData\" [data]=\"graphData\" [options]=\"options\"></chart>\r\n</div>\r\n<div class=\"text-center\" *ngIf=\"!data || (data && data?.length <= 0)\">\r\n    <h1>No data to display</h1>\r\n</div>","import { Component, ChangeDetectionStrategy, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"r247-info-icon-modal\",\r\n  templateUrl: \"./info-icon-modal.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247InfoIconModalComponent {\r\n  constructor() {}\r\n  @Input() caption = \"\";\r\n}\r\n","<div class=\"modal-body\">\r\n    {{caption}}\r\n</div>","import { Component, ChangeDetectionStrategy, Input } from \"@angular/core\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { R247InfoIconModalComponent } from \"./info-icon-modal.component\";\r\n\r\n@Component({\r\n  selector: \"r247-info-icon\",\r\n  templateUrl: \"./info-icon.component.html\",\r\n  styleUrls: [\"./info-icon.component.scss\"],\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247InfoIconComponent {\r\n  constructor(private modalService: NgbModal) {}\r\n\r\n  @Input() caption = \"\";\r\n\r\n  showInfoModal() {\r\n    var modal = this.modalService.open(R247InfoIconModalComponent, {\r\n      scrollable: false,\r\n      size: \"lg\",\r\n      centered: true,\r\n    });\r\n    modal.componentInstance.caption = this.caption;\r\n    modal.result.then((x) => {});\r\n  }\r\n}\r\n","<span class=\"ml-1 info-icon float-right\" (click)=\"showInfoModal()\">\r\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"info-icon\">\r\n      <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z\" />\r\n    </svg>\r\n</span>","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({ name: 'lessThanOnePence' })\r\nexport class LessThanOnePencePipe implements PipeTransform {\r\n    transform(value: number) {\r\n\r\n        if (value === 0)\r\n            return `£${0.00}`;\r\n\r\n        const threshold = 0.01;\r\n\r\n        var amount = value;\r\n        if (Math.sign(value) === -1 || Math.sign(value) === -0) \r\n            amount = value * -1;\r\n\r\n        return (amount < threshold)\r\n            ? `<£${threshold}`\r\n            : ` £${this.roundValue(amount)}`;\r\n    }\r\n\r\n    roundValue(value) {\r\n        return (Math.round(value * 100) / 100).toFixed(2);\r\n    }\r\n}","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({ name: 'lessThanTen' })\r\nexport class LessThanTenPipe implements PipeTransform {\r\n    transform(value: number) {\r\n        return (value < 10)\r\n            ? `<${10}`\r\n            : ` ${value}`;\r\n    }\r\n}","import {\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  Input,\r\n  OnInit,\r\n} from \"@angular/core\";\r\nimport { DomSanitizer, SafeResourceUrl } from \"@angular/platform-browser\";\r\nimport { FranchiseService } from \"../../@core/backend/receptionist/services/franchise-service\";\r\n\r\n@Component({\r\n  selector: \"r247-nav-bar\",\r\n  templateUrl: \"./nav-bar.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class R247NavBarComponent implements OnInit {\r\n  constructor(\r\n    private cd: ChangeDetectorRef,\r\n    private sanitizer: DomSanitizer,\r\n    private franchiseService: FranchiseService\r\n  ) {}\r\n\r\n  @Input() companyName = \"\";\r\n  @Input() navItems = [];\r\n  @Input() accountLink = \"#\";\r\n  @Input() accountButtonText = \"\";\r\n  @Input() switchLink: any = {};\r\n  @Input() showSwitchLink = false;\r\n  @Input() showAccountLink = true;\r\n\r\n  vendorName = \"\";\r\n  logoImage: SafeResourceUrl;\r\n  vendorWebsite = \"#\";\r\n  @Input() isAuthenticated = false;\r\n\r\n  isNavCollapsed = false;\r\n\r\n  authenticationButtonText = \"\";\r\n  authenticationLink = \"#\";\r\n\r\n  ngOnInit(): void {\r\n    this.franchiseService.get().subscribe((config) => {\r\n      this.vendorName = config.name;\r\n      this.vendorWebsite = `${window.location.protocol}`;\r\n      this.logoImage = this.sanitizer.bypassSecurityTrustResourceUrl(\r\n        config.logo\r\n      );\r\n      this.cd.detectChanges();\r\n    });\r\n\r\n    if (this.isAuthenticated) {\r\n      this.authenticationButtonText = \"Log Out\";\r\n      this.authenticationLink = \"auth/logout\";\r\n    } else {\r\n      this.authenticationButtonText = \"Log In\";\r\n      this.authenticationLink = \"auth/login\";\r\n    }\r\n  }\r\n}\r\n","<nav class=\"navbar navbar-expand-lg brand-header\">\r\n    <div class=\"navbar-brand abs\">\r\n      <a [href]=\"vendorWebsite\">\r\n        <img [src]=\"logoImage\" [alt]=\"vendorName\" *ngIf=\"logoImage\" />\r\n      </a>\r\n      <span class=\"ml-2\">\r\n        {{companyName}}\r\n      </span>\r\n    </div>\r\n    <button (click)=\"isNavCollapsed = !isNavCollapsed\" class=\"btn btn-primary navbar-toggler\" type=\"button\">\r\n      <i class=\"fa fa-bars\"></i>\r\n    </button>\r\n    <div [ngbCollapse]=\"!isNavCollapsed\" class=\"collapse navbar-collapse\">\r\n      <ul class=\"navbar-nav\">\r\n        <li *ngFor=\"let navItem of navItems\" class=\"nav-item active\">\r\n          <a class=\"nav-link\" (click)=\"isNavCollapsed = !isNavCollapsed\" [routerLink]=\"navItem.link\" [routerLinkActiveOptions]=\"{exact: true}\" routerLinkActive=\"nav-link-active\">{{navItem.caption}}</a>\r\n        </li>\r\n      </ul>\r\n      <ul class=\"navbar-nav ml-auto mr-6\">\r\n        <li *ngIf=\"!showAccountLink\"><a class=\"nav-link\" [href]=\"authenticationLink\">{{authenticationButtonText}}</a></li>\r\n        <li *ngIf=\"showAccountLink\">\r\n          <div ngbDropdown class=\"d-inline-block\">\r\n            <button type=\"button\" class=\"btn btn-outline-primary\" id=\"dropdownBasic1\" ngbDropdownToggle>\r\n              Account\r\n            </button>\r\n            <div ngbDropdownMenu class=\"dropdown-menu dropdown-menu-end\" style=\"left: -73px; top: 40px;\">\r\n              <a *ngIf=\"showSwitchLink\" ngbDropdownItem [routerLink]=\"switchLink.link\">{{switchLink.caption}}</a>\r\n              <a *ngIf=\"showAccountLink\" ngbDropdownItem [routerLink]=\"accountLink\">{{accountButtonText}}</a>\r\n              <a ngbDropdownItem [href]=\"authenticationLink\">{{authenticationButtonText}}</a>\r\n            </div>\r\n          </div>\r\n        </li>\r\n      </ul>\r\n    </div>\r\n</nav>","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({ name: 'pencePer' })\r\nexport class PencePerPipe implements PipeTransform {\r\n    transform(value: number, duration = '') {\r\n        return `${value} per ${duration}`;\r\n    }\r\n}","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({ name: 'pence' })\r\nexport class PencePipe implements PipeTransform {\r\n    transform(value: number) {\r\n        return `${parseFloat((value * 100).toFixed(2))}p`;\r\n    }\r\n}","import {\r\n  Component,\r\n  ChangeDetectionStrategy,\r\n  OnInit,\r\n  Input,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"r247-pills\",\r\n  templateUrl: \"./pills.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247PillsComponent {\r\n  @Input() pills = [];\r\n}\r\n","<div class=\"nav my-2\">\r\n    <div *ngFor=\"let pill of pills\"><a class=\"btn btn-outline-primary float-right\" [routerLink]=\"pill.link\" [routerLinkActiveOptions]=\"{exact: true}\" routerLinkActive=\"btn-primary\">{{pill.caption}}</a></div>\r\n</div>","import { Component, ChangeDetectionStrategy, Input, } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'r247-processing-loader',\r\n  templateUrl: './processing-loader.component.html',\r\n  changeDetection: ChangeDetectionStrategy.Default\r\n})\r\n\r\nexport class R247ProcessingLoaderComponent {\r\n  constructor() { }\r\n\r\n  @Input() caption = '';\r\n  @Input() subCaption = '';\r\n}","<div class=\"row mt-5\">\r\n    <div class=\"col-12 text-center\"><h1>{{caption}}...</h1></div>\r\n    <div class=\"col-12 mt-3 mb-3 text-center\">{{subCaption}}</div>\r\n</div>\r\n","import {\r\n  Component,\r\n  ChangeDetectionStrategy,\r\n  Output,\r\n  EventEmitter,\r\n  OnInit,\r\n  Input,\r\n} from \"@angular/core\";\r\nimport { NgbDate } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@Component({\r\n  selector: \"r247-search-bar\",\r\n  templateUrl: \"./search-bar.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247SearchBarComponent implements OnInit {\r\n  constructor() {}\r\n\r\n  THIS_MONTH = \"this_month\";\r\n  LAST_MONTH = \"last_month\";\r\n  CUSTOM = \"custom\";\r\n\r\n  selectedFilter = this.THIS_MONTH;\r\n\r\n  startDate: NgbDate;\r\n  endDate: NgbDate;\r\n\r\n  @Input() isExporting = false;\r\n\r\n  get exportCaption() {\r\n    return this.isExporting ? \"Exporting...\" : \"Export\";\r\n  }\r\n\r\n  @Input() showExportButton = true;\r\n\r\n  @Output() search = new EventEmitter();\r\n  @Output() export = new EventEmitter();\r\n\r\n  ngOnInit(): void {\r\n    this.initialiseDates(this.selectedFilter);\r\n  }\r\n\r\n  onFilterSelectChange() {\r\n    this.changeFilter(this.selectedFilter);\r\n  }\r\n\r\n  changeFilter(filter) {\r\n    if (filter === this.CUSTOM) {\r\n      this.initialiseDates(this.selectedFilter);\r\n      this.selectedFilter = filter;\r\n\r\n      return;\r\n    }\r\n\r\n    this.initialiseDates(filter);\r\n    this.selectedFilter = filter;\r\n\r\n    this.onSearch();\r\n  }\r\n\r\n  initialiseDates(filter) {\r\n    var today = new Date();\r\n    var month = today.getMonth();\r\n\r\n    if (filter === this.THIS_MONTH) {\r\n      month = today.getMonth() + 1;\r\n    } else if (filter === this.LAST_MONTH) {\r\n      today.setMonth(today.getMonth() - 1);\r\n      month = today.getMonth() + 1;\r\n    }\r\n\r\n    this.startDate = new NgbDate(today.getFullYear(), month, 1);\r\n\r\n    var monthEnd = new Date(today.getFullYear(), month, 0);\r\n    this.endDate = new NgbDate(\r\n      monthEnd.getFullYear(),\r\n      month,\r\n      monthEnd.getDate()\r\n    );\r\n  }\r\n\r\n  onSearch() {\r\n    this.search.emit(this.getSearchCriteria());\r\n  }\r\n\r\n  onExport() {\r\n    this.export.emit(this.getSearchCriteria());\r\n  }\r\n\r\n  private getSearchCriteria() {\r\n    return {\r\n      periodStart: new Date(\r\n        this.startDate.year,\r\n        this.startDate.month - 1,\r\n        this.startDate.day\r\n      ),\r\n      periodEnd: new Date(\r\n        this.endDate.year,\r\n        this.endDate.month - 1,\r\n        this.endDate.day\r\n      ),\r\n    };\r\n  }\r\n\r\n  dateRangeChange(dateRange) {\r\n    this.startDate = dateRange.fromDate;\r\n    this.endDate = dateRange.toDate;\r\n  }\r\n}\r\n","<div class=\"row d-inline d-md-none\">\r\n  <div class=\"col-12 mb-2 pl-0 pr-0\">\r\n    <button class=\"btn btn-secondary\" (click)=\"onExport()\" [disabled]=\"isExporting\">{{exportCaption}}</button>\r\n  </div>\r\n    <div class=\"col-12 mb-2 pl-0 pr-0\">\r\n      <select class=\"form-control\" [(ngModel)]=\"selectedFilter\" (ngModelChange)=\"onFilterSelectChange()\">\r\n        <option [value]=\"THIS_MONTH\">This Month</option>\r\n        <option [value]=\"LAST_MONTH\">Last Month</option>\r\n        <option [value]=\"CUSTOM\">Select Date Range</option>\r\n      </select>\r\n    </div>\r\n    <div class=\"col-12 mb-sm-2 mb-md-2  pl-0 pr-0\" *ngIf=\"selectedFilter === CUSTOM\">\r\n      <r247-date-range-picker [fromDate]=\"startDate\" [toDate]=\"endDate\" (dateRangeChange)=\"dateRangeChange($event)\"></r247-date-range-picker>\r\n    </div>\r\n    <div class=\"col-12  pl-0 pr-0\" *ngIf=\"selectedFilter === CUSTOM\">\r\n      <button class=\"ml-1 btn btn-primary btn-block\" (click)=\"customSearch()\">Search</button>\r\n    </div>\r\n</div>\r\n<div class=\"d-none d-md-block\">\r\n  <div class=\"row mb-2\">\r\n    <div class=\"col-md-10 mb-md-2\">\r\n        <div class=\"d-flex\">\r\n            <div class=\"btn-group mr-1\" role=\"group\">\r\n                <button type=\"button\" class=\"btn btn-secondary\" (click)=\"changeFilter(THIS_MONTH)\" [disabled]=\"selectedFilter === THIS_MONTH\">This Month</button>\r\n                <button type=\"button\" class=\"btn btn-secondary\" (click)=\"changeFilter(LAST_MONTH)\" [disabled]=\"selectedFilter === LAST_MONTH\">Last Month</button>\r\n                <button type=\"button\" class=\"btn btn-secondary\" (click)=\"changeFilter(CUSTOM)\" [disabled]=\"selectedFilter === CUSTOM\">Select Date Range</button>\r\n            </div>\r\n            <r247-date-range-picker *ngIf=\"selectedFilter === CUSTOM\" [fromDate]=\"startDate\" [toDate]=\"endDate\" (dateRangeChange)=\"dateRangeChange($event)\"></r247-date-range-picker>\r\n            <button class=\"ml-1 btn btn-primary\" *ngIf=\"selectedFilter === CUSTOM\" (click)=\"onSearch()\">Search</button>\r\n        </div>\r\n    </div>\r\n    <div class=\"col-md-2\" *ngIf=\"showExportButton\">\r\n        <button class=\"btn btn-secondary float-right ml-2\" (click)=\"onExport()\" [disabled]=\"isExporting\">{{exportCaption}}</button>\r\n    </div>\r\n  </div>\r\n</div>","import { Component, ChangeDetectionStrategy, OnInit } from \"@angular/core\";\r\nimport { ExportService } from \"../../@core/backend/receptionist/services/export-service\";\r\nimport { StatementsService } from \"../../@core/backend/receptionist/services/statements-service\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Component({\r\n  selector: \"r247-statements\",\r\n  templateUrl: \"./statements.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class StatementsScreenComponent implements OnInit {\r\n  constructor(\r\n    private statementsService: StatementsService,\r\n    private exportService: ExportService\r\n  ) {}\r\n\r\n  statements$: Observable<[]>;\r\n  downloadingStatementId = 0;\r\n  error = \"\";\r\n\r\n  ngOnInit(): void {\r\n    this.statements$ = this.statementsService.getStatements();\r\n  }\r\n\r\n  downloadStatement(statementNumber: number): void {\r\n    this.error = \"\";\r\n    this.downloadingStatementId = statementNumber;\r\n\r\n    this.statementsService.get(statementNumber).subscribe({\r\n      next: (result) => {\r\n        this.downloadingStatementId = 0;\r\n        this.exportService.exportToPdf(result, `Statement_${statementNumber}`);\r\n      },\r\n      error: () => {\r\n        this.error = `Unable to download statement ${statementNumber}.`;\r\n        this.downloadingStatementId = 0;\r\n      },\r\n    });\r\n  }\r\n}\r\n","<div class=\"row\">\r\n    <div class=\"col-12\">\r\n        <r247-account-detail-pills></r247-account-detail-pills>\r\n        <div class=\"card\">\r\n            <div class=\"card-header\">\r\n                Statements\r\n            </div>\r\n            <div class=\"card-body p-0 p-md-2\" *ngIf=\"statements$ | async; let statements; else nostatements\">\r\n                <div class=\"row d-none d-md-block\">\r\n                    <div class=\"col-md-12\">\r\n                      <div class=\"alert alert-danger\" *ngIf=\"error?.length >= 1\" role=\"alert\">  \r\n                        {{error}}\r\n                      </div>\r\n                      <div class=\"table-responsive\">\r\n                        <table class=\"table\">\r\n                          <thead>\r\n                            <tr>\r\n                              <th class=\"auto-width\">Date</th>\r\n                              <th class=\"auto-width\">Statement Number</th>\r\n                              <th class=\"auto-width\">Actions</th>\r\n                            </tr>\r\n                          </thead>\r\n                          <tbody>\r\n                            <tr *ngFor=\"let statement of statements\">\r\n                              <td class=\"auto-width\">{{statement.month}} {{statement.year}}</td>\r\n                              <td class=\"auto-width\">{{statement.id}}</td>\r\n                              <td class=\"auto-width\">\r\n                                <button class=\"btn btn-secondary\" [attr.disabled]=\"downloadingStatementId === statement.id ? true : null\" (click)=\"downloadStatement(statement.id)\">\r\n                                  <span *ngIf=\"downloadingStatementId != statement.id\">Download</span>\r\n                                  <span *ngIf=\"downloadingStatementId === statement.id\">Downloading...</span>\r\n                                </button>\r\n                              </td>\r\n                            </tr>\r\n                          </tbody>\r\n                        </table>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"row d-block d-md-none\">\r\n                    <div class=\"col-12\">\r\n                      <div class=\"list-group list-group-flush\">\r\n                        <button *ngFor=\"let statement of statements\" class=\"list-group-item list-group-item-action\" [attr.disabled]=\"downloadingStatementId === statement.id ? true : null\" (click)=\"downloadStatement(statement.id)\">\r\n                          <span class=\"font-weight-bold mr-2\">{{statement.id}}</span>\r\n                          <span>{{statement.month}}&nbsp;{{statement.year}}</span>\r\n                          <span class=\"float-right\" *ngIf=\"downloadingStatementId === statement.id\">Downloading...</span>\r\n                        </button>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n            </div>\r\n            <ng-template #nostatements>\r\n              <h2 class=\"text-center\">No Statements To Display</h2>\r\n            </ng-template>\r\n        </div>\r\n    </div>\r\n</div>","import { Injectable } from \"@angular/core\";\r\nimport { FormBuilder, Validators } from \"@angular/forms\";\r\nimport { MINIMUM_TOP_UP } from \"../../@core/interfaces/receptionist/payment\";\r\n\r\n@Injectable()\r\nexport class TopUpFormBuilder {\r\n  constructor(private fb: FormBuilder) {}\r\n\r\n  private amount = 0;\r\n\r\n  withAmount(amount: number): TopUpFormBuilder {\r\n    this.amount = amount;\r\n\r\n    return this;\r\n  }\r\n\r\n  private minimumAmount = MINIMUM_TOP_UP;\r\n\r\n  withMinimumAmount(minimumAmount: number): TopUpFormBuilder {\r\n    this.minimumAmount = minimumAmount;\r\n\r\n    return this;\r\n  }\r\n\r\n  private isAutoTopUp = false;\r\n\r\n  enableAutoTopUp(): TopUpFormBuilder {\r\n    this.isAutoTopUp = true;\r\n\r\n    return this;\r\n  }\r\n\r\n  disableAutoTopUp(): TopUpFormBuilder {\r\n    this.isAutoTopUp = false;\r\n\r\n    return this;\r\n  }\r\n\r\n  create() {\r\n    return this.fb.group({\r\n      isAutoTopUp: [this.isAutoTopUp, []],\r\n      amount: [\r\n        this.amount,\r\n        {\r\n          validators: [Validators.min(this.minimumAmount), Validators.required],\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n    });\r\n  }\r\n}\r\n","import {\r\n  Component,\r\n  ChangeDetectionStrategy,\r\n  OnInit,\r\n  Input,\r\n  Output,\r\n  EventEmitter,\r\n} from \"@angular/core\";\r\nimport { FormGroup } from \"@angular/forms\";\r\nimport { MINIMUM_TOP_UP } from \"../../@core/interfaces/receptionist/payment\";\r\n\r\n@Component({\r\n  selector: \"r247-top-up-form\",\r\n  templateUrl: \"./top-up-form.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247TopUpFormComponent implements OnInit {\r\n  constructor() {}\r\n\r\n  @Input() allowRecurringTransaction = true;\r\n  @Input() minimumTopUp = MINIMUM_TOP_UP;\r\n  @Input() topUpForm: FormGroup;\r\n  @Output() autoTopUpToggled = new EventEmitter();\r\n\r\n  ngOnInit(): void {\r\n    this.amountChanged(this.minimumTopUp);\r\n  }\r\n\r\n  amountChanged(amount) {\r\n    this.topUpForm.patchValue({ amount: amount });\r\n  }\r\n}\r\n","<form [formGroup]=\"topUpForm\">\r\n        <r247-top-up-input [minimumTopUp]=\"minimumTopUp\" [topUpForm]=\"topUpForm\" (amountChanged)=\"amountChanged($event)\"></r247-top-up-input>\r\n    <div class=\"row mt-3\" *ngIf=\"allowRecurringTransaction\">\r\n        <div class=\"col-12 offset-md-3\">\r\n            <div class=\"form-check\">\r\n                <input formControlName=\"isAutoTopUp\" name=\"auto-top-up\"  type=\"checkbox\" class=\"form-check-input\" (change)=\"autoTopUpToggled?.emit()\">\r\n                <label class=\"ml-3\" for=\"auto-top-up\">Top up by this amount when my balance drops below £50</label>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</form>","import {\r\n  Component,\r\n  ChangeDetectionStrategy,\r\n  OnInit,\r\n  Output,\r\n  EventEmitter,\r\n  Input,\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MINIMUM_TOP_UP } from \"../../@core/interfaces/receptionist/payment\";\r\n\r\n@Component({\r\n  selector: \"r247-top-up-input\",\r\n  templateUrl: \"./top-up-input.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247TopUpInputComponent implements OnInit {\r\n  constructor(private fb: FormBuilder) {}\r\n\r\n  @Input() minimumTopUp = MINIMUM_TOP_UP;\r\n  @Input() topUpForm: FormGroup;\r\n  @Output() amountChanged = new EventEmitter();\r\n\r\n  topUpInputForm: FormGroup;\r\n\r\n  get isCustomAmount() {\r\n    return this.topUpInputForm.get(\"amount\").value === \"custom\";\r\n  }\r\n  get customAmount() {\r\n    return this.topUpInputForm.get(\"customAmount\");\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.topUpInputForm = this.fb.group({\r\n      amount: [this.minimumTopUp, [Validators.required]],\r\n      customAmount: [\"\", Validators.min(this.minimumTopUp)],\r\n    });\r\n  }\r\n\r\n  broadcastNewAmount() {\r\n    console.log(this.customAmount);\r\n    var selectedAmount = this.topUpInputForm.get(\"amount\").value;\r\n\r\n    this.amountChanged.emit(\r\n      selectedAmount === \"custom\"\r\n        ? this.topUpInputForm.get(\"customAmount\").value\r\n        : selectedAmount\r\n    );\r\n  }\r\n}\r\n","<form [formGroup]=\"topUpInputForm\">\r\n    <div class=\"row\">\r\n        <div class=\"col-xs-6 col-md-3 col-lg-3\">\r\n            <label for=\"amount\">Amount</label>\r\n        </div>\r\n        <div class=\"col-xs-6 col-md-8 col-lg-8\">\r\n            <div class=\"row\">\r\n                <div class=\"col-xs-12 col-md-6\">\r\n                    <select (change)=\"broadcastNewAmount()\" [value]=\"minimumTopUp\" class=\"form-control\" formControlName=\"amount\">\r\n                        <option [value]=\"minimumTopUp\">£100</option>\r\n                        <option value=\"250\">£250</option>\r\n                        <option value=\"500\">£500</option>\r\n                        <option value=\"custom\">Custom</option>\r\n                    </select>\r\n                </div>\r\n                <div class=\"col-xs-6 offset-xs-6 col-md-6 mt-1 mt-md-0\" *ngIf=\"isCustomAmount\">\r\n                    <div class=\"input-group\">\r\n                        <div class=\"input-group-prepend\">\r\n                            <span class=\"input-group-text\">£</span>\r\n                        </div>\r\n                        <input type=\"text\" (change)=\"broadcastNewAmount()\"\r\n                            placeholder=\"Enter Your Prefered Amount (minimum £{{minimumTopUp}})\" \r\n                            required\r\n                            class=\"form-control\" \r\n                            formControlName=\"customAmount\">\r\n                    </div>\r\n                    <r247-validation-message errorMessage=\"Please top up by at least £{{minimumTopUp}}\" [showError]=\"customAmount?.errors?.min && customAmount?.touched\"></r247-validation-message>\r\n                    <r247-validation-message errorMessage=\"Please enter your top up amount\" [showError]=\"(customAmount?.errors?.required && customAmount?.touched) || (topUpForm?.get('amount')?.errors?.required && topUpForm?.touched)\"></r247-validation-message>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</form>","\r\n\r\nimport {Component, Input, forwardRef} from '@angular/core';\r\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\r\n\r\n@Component({\r\n  selector: 'r247-validation-message',\r\n  template: `\r\n      <div class=\"warning\">\r\n          <span class=\"caption text-danger\" *ngIf=\"showMinLength\"> {{ label }} is too short </span>\r\n          <span class=\"caption text-danger\" *ngIf=\"showMaxLength\"> {{ label }} is too long </span>\r\n          <span class=\"caption text-danger\" *ngIf=\"showPattern\"> Incorrect {{ label }} </span>\r\n          <span class=\"caption text-danger\" *ngIf=\"showRequired\">Please enter {{ label }}</span>\r\n          <span class=\"caption text-danger\" *ngIf=\"showMin\">Min value of {{ label }} is {{ min }}</span>\r\n          <span class=\"caption text-danger\" *ngIf=\"showMax\">Max value of {{ label }} is {{ max }}</span>\r\n          <span class=\"caption text-danger\" *ngIf=\"showError\">{{errorMessage}}</span>\r\n      </div>\r\n  `,\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => R247ValidationMessageComponent),\r\n      multi: true,\r\n    },\r\n  ],\r\n})\r\nexport class R247ValidationMessageComponent {\r\n  @Input()\r\n  label: string = '';\r\n\r\n  @Input()\r\n  errorMessage: string = '';\r\n\r\n  @Input()\r\n  showError?: boolean;\r\n\r\n\r\n  @Input()\r\n  showRequired?: boolean;\r\n\r\n  @Input()\r\n  min?: number;\r\n\r\n  @Input()\r\n  showMin?: boolean;\r\n\r\n  @Input()\r\n  max?: number;\r\n\r\n  @Input()\r\n  showMax: boolean;\r\n\r\n  @Input()\r\n  minLength?: number;\r\n\r\n  @Input()\r\n  showMinLength?: boolean;\r\n\r\n  @Input()\r\n  maxLength?: number;\r\n\r\n  @Input()\r\n  showMaxLength?: boolean;\r\n\r\n  @Input()\r\n  showPattern?: boolean;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class HttpService {\r\n  get apiUrl(): string {\r\n    return `https://${sessionStorage.getItem(\"env\")}.callcentre.services`;\r\n  }\r\n\r\n  constructor(private http: HttpClient) {}\r\n\r\n  get(endpoint: string, options?): Observable<any> {\r\n    return this.http.get(\r\n      `${this.apiUrl}/${endpoint}`,\r\n      this.populateOptionDefaults(options)\r\n    );\r\n  }\r\n\r\n  getCustom(endpoint: string, options?): Observable<any> {\r\n    return this.http.get(`${endpoint}`, this.populateOptionDefaults(options));\r\n  }\r\n\r\n  post(endpoint: string, data, options?): Observable<any> {\r\n    let headers = new HttpHeaders();\r\n    headers.append(\"X-test\", \"test\");\r\n\r\n    return this.http.post(\r\n      `${this.apiUrl}/${endpoint}`,\r\n      data,\r\n      this.populateOptionDefaults(options)\r\n    );\r\n  }\r\n\r\n  put(endpoint: string, data, options?): Observable<any> {\r\n    return this.http.put(\r\n      `${this.apiUrl}/${endpoint}`,\r\n      data,\r\n      this.populateOptionDefaults(options)\r\n    );\r\n  }\r\n\r\n  delete(endpoint: string, options?): Observable<any> {\r\n    return this.http.delete(\r\n      `${this.apiUrl}/${endpoint}`,\r\n      this.populateOptionDefaults(options)\r\n    );\r\n  }\r\n\r\n  populateOptionDefaults(options: any) {\r\n    // let headers = new HttpHeaders();\r\n    // headers.set('X-reseller-code', environment.resellerCode);\r\n\r\n    // if (!options)\r\n    //   return { headers: headers };\r\n\r\n    // if (options.headers) {\r\n    //   options.headers.append('X-reseller-cdoe', environment.resellerCode);\r\n    //   return options;\r\n    // }\r\n\r\n    // options.headers = headers;\r\n    return options;\r\n  }\r\n}\r\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { HttpService } from \"./api/http.service\";\r\nimport { ResellerCodeInterceptor } from \"./reseller-code.interceptor\";\r\nimport { HTTP_INTERCEPTORS } from \"@angular/common/http\";\r\n\r\nconst API = [HttpService];\r\n@NgModule({\r\n  imports: [CommonModule],\r\n})\r\nexport class CommonBackendModule {\r\n  static forRoot(): ModuleWithProviders<CommonBackendModule> {\r\n    return {\r\n      ngModule: CommonBackendModule,\r\n      providers: [\r\n        ...API,\r\n        {\r\n          provide: HTTP_INTERCEPTORS,\r\n          useClass: ResellerCodeInterceptor,\r\n          multi: true,\r\n        },\r\n      ],\r\n    };\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n  HttpEvent,\r\n  HttpHandler,\r\n  HttpInterceptor,\r\n  HttpRequest,\r\n} from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { environment } from \"../../../../environments/environment\";\r\n\r\n@Injectable()\r\nexport class ResellerCodeInterceptor implements HttpInterceptor {\r\n  intercept(\r\n    req: HttpRequest<any>,\r\n    next: HttpHandler\r\n  ): Observable<HttpEvent<any>> {\r\n    return next.handle(\r\n      req.clone({\r\n        headers: req.headers.set(\r\n          \"Reseller-Code\",\r\n          sessionStorage.getItem(\"seller_code\")\r\n        ),\r\n      })\r\n    );\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpService } from \"../../common/api/http.service\";\r\n\r\n@Injectable()\r\nexport class AuthApi {\r\n  challengeImpersonation(token: string): Observable<string> {\r\n    return this.api.get(`impersonation/challenge`);\r\n  }\r\n\r\n  private readonly apiController: string = \"auth\";\r\n\r\n  constructor(private api: HttpService) {}\r\n\r\n  login(credentials): Observable<any> {\r\n    return this.api.post(`${this.apiController}/login`, credentials);\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpService } from '../../common/api/http.service';\r\n\r\n@Injectable()\r\nexport class ExportApi {\r\n\r\n  constructor(private api: HttpService) { } \r\n  \r\n  get(url: string):Observable<any>{\r\n    return this.api.get(url, { responseType: 'blob'});\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpService } from \"../../common/api/http.service\";\r\nimport { ExportApi } from \"./export.api\";\r\n\r\n@Injectable()\r\nexport class FranchiseApi {\r\n  private readonly apiController: string = \"franchise\";\r\n\r\n  constructor(private api: HttpService, private exportApi: ExportApi) {}\r\n\r\n  isFranchisor(franchiseCode: string): Observable<boolean> {\r\n    return this.api.get(`${this.apiController}/${franchiseCode}/is-franchisor`);\r\n  }\r\n\r\n  getResellers(franchiseCode: string): Observable<any[]> {\r\n    return this.api.get(`${this.apiController}/${franchiseCode}/resellers`);\r\n  }\r\n\r\n  get(franchiseName: string): Observable<any> {\r\n    return this.api.get(`${this.apiController}/${franchiseName}`);\r\n  }\r\n\r\n  calculateRevenueForReseller(resellerId: number): Observable<any> {\r\n    return this.api.get(`${this.apiController}/revenue/reseller/${resellerId}`);\r\n  }\r\n\r\n  calculateRevenuePerReseller(\r\n    periodStart: Date,\r\n    periodEnd: Date\r\n  ): Observable<any> {\r\n    return this.api.get(\r\n      `${\r\n        this.apiController\r\n      }/revenue/reseller?periodStart=${periodStart.toDateString()}&periodEnd=${periodEnd.toDateString()}`\r\n    );\r\n  }\r\n\r\n  topResellersByRevenue(periodStart: Date, periodEnd: Date): Observable<any> {\r\n    return this.api.get(\r\n      `${\r\n        this.apiController\r\n      }/revenue/reseller/top?periodStart=${periodStart.toDateString()}&periodEnd=${periodEnd.toDateString()}`\r\n    );\r\n  }\r\n\r\n  topResellersByClientCount(\r\n    periodStart: Date,\r\n    periodEnd: Date\r\n  ): Observable<any> {\r\n    return this.api.get(\r\n      `${\r\n        this.apiController\r\n      }/clients/reseller/top?periodStart=${periodStart.toDateString()}&periodEnd=${periodEnd.toDateString()}`\r\n    );\r\n  }\r\n\r\n  countClients(): Observable<any> {\r\n    return this.api.get(`${this.apiController}/clients/count`);\r\n  }\r\n\r\n  countResellers(): Observable<any> {\r\n    return this.api.get(`${this.apiController}/resellers/count`);\r\n  }\r\n\r\n  calculateRevenuePerMonth(): Observable<any> {\r\n    return this.api.get(`${this.apiController}/revenue/monthly`);\r\n  }\r\n\r\n  calculateUnRealisedRevenue(): Observable<number> {\r\n    return this.api.get(`${this.apiController}/revenue/unrealised`);\r\n  }\r\n\r\n  exportRevenuePerReseller(\r\n    periodStart: Date,\r\n    periodEnd: Date\r\n  ): Observable<any> {\r\n    return this.exportApi.get(\r\n      `${\r\n        this.apiController\r\n      }/revenue/reseller/export?periodStart=${periodStart.toDateString()}&periodEnd=${periodEnd.toDateString()}`\r\n    );\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpService } from \"../../common/api/http.service\";\r\nimport { ExportApi } from \"./export.api\";\r\n\r\n@Injectable()\r\nexport class FranchiseeApi {\r\n  private readonly apiController: string = \"franchisee\";\r\n\r\n  constructor(private api: HttpService, private exportApi: ExportApi) {}\r\n\r\n  getName(franchiseeId: number): Observable<string> {\r\n    return this.api.get(`${this.apiController}/${franchiseeId}/name`, {\r\n      responseType: \"text\",\r\n    });\r\n  }\r\n\r\n  countClients(): Observable<number> {\r\n    return this.api.get(`${this.apiController}/clients/count`);\r\n  }\r\n\r\n  countClientsForReseller(franchiseeId: number): Observable<number> {\r\n    return this.api.get(`${this.apiController}/${franchiseeId}/clients/count`);\r\n  }\r\n\r\n  countNewClientsPerMonth(franchiseeId: number): Observable<any> {\r\n    return this.api.get(\r\n      `${this.apiController}/${franchiseeId}/clients/new/count/monthly`\r\n    );\r\n  }\r\n\r\n  countTotalClientsPerMonth(franchiseeId: number): Observable<any> {\r\n    return this.api.get(\r\n      `${this.apiController}/${franchiseeId}/clients/count/monthly`\r\n    );\r\n  }\r\n\r\n  calculateRevenuePerClient(\r\n    franchiseeId: number,\r\n    periodStart: Date,\r\n    periodEnd: Date\r\n  ): Observable<any> {\r\n    return this.api.get(\r\n      `${\r\n        this.apiController\r\n      }/${franchiseeId}/revenue/client?periodStart=${periodStart.toDateString()}&periodEnd=${periodEnd.toDateString()}`\r\n    );\r\n  }\r\n\r\n  exportRevenuePerClient(\r\n    franchiseeId: number,\r\n    periodStart: Date,\r\n    periodEnd: Date\r\n  ): Observable<any> {\r\n    return this.exportApi.get(\r\n      `${\r\n        this.apiController\r\n      }/revenue/client/export?periodStart=${periodStart.toDateString()}&periodEnd=${periodEnd.toDateString()}`\r\n    );\r\n  }\r\n\r\n  calculateRevenuePerMonth(franchiseeId: number): Observable<any> {\r\n    return this.api.get(\r\n      `${this.apiController}/${franchiseeId}/revenue/monthly`\r\n    );\r\n  }\r\n\r\n  calculateUnRealisedRevenue(franchiseeId: number): Observable<any> {\r\n    return this.api.get(\r\n      `${this.apiController}/${franchiseeId}/revenue/unrealised`\r\n    );\r\n  }\r\n\r\n  calculateUnRealisedRevenueForReseller(\r\n    franchiseId: number\r\n  ): Observable<number> {\r\n    return this.api.get(\r\n      `${this.apiController}/${franchiseId}/revenue/unrealised`\r\n    );\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpService } from \"../../common/api/http.service\";\r\nimport { environment } from \"../../../../../environments/environment\";\r\n\r\n@Injectable()\r\nexport class PhoneNumbersApi {\r\n  private readonly apiController: string = \"number\";\r\n\r\n  constructor(private api: HttpService) {}\r\n\r\n  getNumbers(prefix: string, category: string): Observable<any> {\r\n    return this.api.get(\r\n      `${\r\n        this.apiController\r\n      }?prefix=${prefix}&category=${category}&franchiseCode=${sessionStorage.getItem(\r\n        \"seller_code\"\r\n      )}`\r\n    );\r\n  }\r\n\r\n  get(id: number): any {\r\n    return this.api.get(`${this.apiController}/${id}`);\r\n  }\r\n\r\n  purchaseNumber(number: any): Observable<any> {\r\n    return this.api.post(`${this.apiController}`, number);\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpService } from \"../../common/api/http.service\";\r\nimport { environment } from \"../../../../../environments/environment\";\r\n\r\n@Injectable()\r\nexport class PasswordApi {\r\n  private readonly apiController: string = \"password\";\r\n\r\n  constructor(private api: HttpService) {}\r\n\r\n  requestPasswordReset(email: string): Observable<boolean> {\r\n    return this.api.post(`${this.apiController}/reset/request`, {\r\n      email: email,\r\n      franchiseCode: sessionStorage.getItem(\"seller_code\"),\r\n    });\r\n  }\r\n\r\n  validateResetPasswordToken(token: string): Observable<boolean> {\r\n    return this.api.post(`${this.apiController}/reset/validate`, {\r\n      token: token,\r\n      franchiseCode: sessionStorage.getItem(\"seller_code\"),\r\n    });\r\n  }\r\n\r\n  resetPassword(passwordReset: any): Observable<any> {\r\n    passwordReset.franchiseCode = sessionStorage.getItem(\"seller_code\");\r\n\r\n    return this.api.post(`${this.apiController}/reset`, passwordReset);\r\n  }\r\n\r\n  changePassword(changePassword: any): Observable<any> {\r\n    return this.api.post(`${this.apiController}/change`, changePassword);\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpService } from \"../../common/api/http.service\";\r\nimport { ExportApi } from \"./export.api\";\r\n\r\n@Injectable()\r\nexport class PaymentsApi {\r\n  private readonly apiController: string = \"payment\";\r\n\r\n  constructor(private api: HttpService, private exportApi: ExportApi) {}\r\n\r\n  removeAutomatedTopUp(): Observable<any> {\r\n    return this.api.delete(`${this.apiController}/auto-enabled/`);\r\n  }\r\n\r\n  getAutomatedTopUp(): Observable<any> {\r\n    return this.api.get(`${this.apiController}/auto-enabled`);\r\n  }\r\n\r\n  topUp(topUp: any): any {\r\n    return this.api.post(`${this.apiController}`, topUp);\r\n  }\r\n\r\n  getPayments(startDate: Date, endDate: Date): any {\r\n    return this.api.get(\r\n      `${\r\n        this.apiController\r\n      }?startDate=${startDate.toDateString()}&endDate=${endDate.toDateString()}`\r\n    );\r\n  }\r\n\r\n  exportPayments(startDate: Date, endDate: Date): Observable<any> {\r\n    return this.exportApi.get(\r\n      `${\r\n        this.apiController\r\n      }/export?startDate=${startDate.toDateString()}&endDate=${endDate.toDateString()}`\r\n    );\r\n  }\r\n\r\n  getPaymentCards(): Observable<any> {\r\n    return this.api.get(`${this.apiController}/cards`);\r\n  }\r\n\r\n  downloadReceipt(id: number, franchiseCode: string): Observable<any> {\r\n    return this.api.get(\r\n      `${this.apiController}/receipt/${franchiseCode}/${id}`,\r\n      { responseType: \"blob\" }\r\n    );\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpService } from \"../../common/api/http.service\";\r\nimport { ResellerService } from \"../services/reseller.service\";\r\n\r\n@Injectable()\r\nexport class PricingApi {\r\n  private readonly apiController: string = \"pricing\";\r\n\r\n  constructor(\r\n    private api: HttpService,\r\n    private resellerService: ResellerService\r\n  ) {}\r\n\r\n  getMonthlyServiceCharges(): Observable<any> {\r\n    return this.api.get(`${this.apiController}/monthly-service-charges`);\r\n  }\r\n\r\n  getNumberCharges(): Observable<any> {\r\n    return this.api.get(`${this.apiController}/number-charges`);\r\n  }\r\n\r\n  getReceptionistCharge(): Observable<any> {\r\n    return this.api.get(`${this.apiController}/receptionist-charge`);\r\n  }\r\n\r\n  get(prefix: string, category: string): Observable<any> {\r\n    return this.api.get(\r\n      `${this.apiController}?prefix=${prefix}&category=${category}`\r\n    );\r\n  }\r\n}\r\n","export const dateQueryString = (startDate: Date, endDate: Date): string => {\r\n  return `startDate=${startDate.toDateString()}&endDate=${endDate.toDateString()}`;\r\n};\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpService } from \"../../common/api/http.service\";\r\nimport { ExportApi } from \"./export.api\";\r\nimport { dateQueryString } from \"./query-string-utils\";\r\n\r\n@Injectable()\r\nexport class ReceptionistApi {\r\n  private readonly apiController: string = \"receptionist\";\r\n\r\n  constructor(private api: HttpService, private exportApi: ExportApi) {}\r\n\r\n  getMonthlyTalkTime() {\r\n    return this.api.get(`${this.apiController}/talk-time/monthly`);\r\n  }\r\n\r\n  getDailyTalkTime() {\r\n    return this.api.get(`${this.apiController}/talk-time/daily`);\r\n  }\r\n\r\n  getCalls(startDate: Date, endDate: Date): any {\r\n    return this.api.get(\r\n      `${this.apiController}/calls?${dateQueryString(startDate, endDate)}`\r\n    );\r\n  }\r\n\r\n  getMonthlyCalls() {\r\n    return this.api.get(`${this.apiController}/calls/monthly`);\r\n  }\r\n\r\n  getDailyCalls() {\r\n    return this.api.get(`${this.apiController}/calls/daily`);\r\n  }\r\n\r\n  exportCalls(startDate: Date, endDate: Date): Observable<any> {\r\n    return this.exportApi.get(\r\n      `${this.apiController}/calls/export?${dateQueryString(\r\n        startDate,\r\n        endDate\r\n      )}`\r\n    );\r\n  }\r\n\r\n  getTodaysMessages(): any {\r\n    return this.api.get(`${this.apiController}/messages/today`);\r\n  }\r\n\r\n  getThisMonthsMessages(): any {\r\n    return this.api.get(`${this.apiController}/messages/month`);\r\n  }\r\n\r\n  getMessages(startDate: Date, endDate: Date): any {\r\n    return this.api.get(\r\n      `${this.apiController}/messages?${dateQueryString(startDate, endDate)}`\r\n    );\r\n  }\r\n\r\n  exportMessages(startDate: Date, endDate: Date): Observable<any> {\r\n    return this.exportApi.get(\r\n      `${this.apiController}/messages/export?${dateQueryString(\r\n        startDate,\r\n        endDate\r\n      )}`\r\n    );\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { signUpForm } from \"../../../interfaces/common/signUp\";\r\nimport { HttpService } from \"../../common/api/http.service\";\r\n\r\n@Injectable()\r\nexport class SignUpApi {\r\n  private readonly apiController: string = \"register\";\r\n\r\n  constructor(private api: HttpService) {}\r\n\r\n  getFranchiseeCaption(): Observable<string> {\r\n    return this.api.get(`${this.apiController}/franchisee-caption`, {\r\n      responseType: \"text\",\r\n    });\r\n  }\r\n\r\n  checkEmail(email: string): Observable<any> {\r\n    return this.api.get(\r\n      `${this.apiController}/check-user?emailAddress=${email}`\r\n    );\r\n  }\r\n\r\n  signUp(signUpForm: signUpForm): any {\r\n    return this.api.post(`${this.apiController}`, signUpForm);\r\n  }\r\n\r\n  purchaseNumber(number: any): any {\r\n    return this.api.post(`${this.apiController}/purchase-number`, number);\r\n  }\r\n}\r\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { CommonBackendModule } from \"../common/common-backend.module\";\r\nimport { PhoneNumbersApi } from \"./api/numbers.api\";\r\nimport { PhoneNumbersService } from \"./services/phone-number.service\";\r\nimport { PaymentsApi } from \"./api/payment.api\";\r\nimport { PaymentService } from \"./services/payment-service\";\r\nimport { ClientService } from \"./services/client-service\";\r\nimport { BalanceService } from \"./services/balance-service\";\r\nimport { SignUpApi } from \"./api/sign-up-api\";\r\nimport { AuthApi } from \"./api/auth.api\";\r\nimport { AuthService } from \"./services/auth.service\";\r\nimport { ReceptionistService } from \"./services/receptionist-service\";\r\nimport { ReceptionistApi } from \"./api/receptionist-api\";\r\nimport { ExportApi } from \"./api/export.api\";\r\nimport { PasswordApi } from \"./api/password.api\";\r\nimport { PasswordService } from \"./services/pasword-service\";\r\nimport { PricingService } from \"./services/pricing-service\";\r\nimport { PricingApi } from \"./api/pricing.api\";\r\nimport { StatementsService } from \"./services/statements-service\";\r\nimport { FranchiseApi } from \"./api/franchise.api\";\r\nimport { FranchiseService } from \"./services/franchise-service\";\r\nimport { FranchiseeApi } from \"./api/franchisee.api\";\r\nimport { FranchiseeService } from \"./services/franchisee-service\";\r\nimport { ColourService } from \"./services/colour-service\";\r\nimport { ResellerService } from \"./services/reseller.service\";\r\n\r\nconst API = [\r\n  PhoneNumbersApi,\r\n  PricingApi,\r\n  SignUpApi,\r\n  AuthApi,\r\n  PaymentsApi,\r\n  ReceptionistApi,\r\n  FranchiseApi,\r\n  FranchiseeApi,\r\n  ExportApi,\r\n  PasswordApi,\r\n];\r\n\r\nconst SERVICES = [\r\n  PhoneNumbersService,\r\n  PaymentService,\r\n  BalanceService,\r\n  ReceptionistService,\r\n  ClientService,\r\n  AuthService,\r\n  ResellerService,\r\n  FranchiseService,\r\n  FranchiseeService,\r\n  PhoneNumbersService,\r\n  PricingService,\r\n  PaymentService,\r\n  PasswordService,\r\n  StatementsService,\r\n  ColourService,\r\n];\r\n\r\n@NgModule({\r\n  imports: [CommonModule, CommonBackendModule],\r\n  exports: [CommonBackendModule],\r\n})\r\nexport class ReceptionistBackendModule {\r\n  static forRoot(): ModuleWithProviders<ReceptionistBackendModule> {\r\n    return {\r\n      ngModule: ReceptionistBackendModule,\r\n      providers: [...API, ...SERVICES],\r\n    };\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport moment from \"moment\";\r\nimport { catchError, tap } from \"rxjs/operators\";\r\nimport { AuthApi } from \"../api/auth.api\";\r\nimport { FranchiseService } from \"./franchise-service\";\r\nimport { environment } from \"../../../../../environments/environment\";\r\nimport { Observable, throwError } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n  constructor(private api: AuthApi) {}\r\n\r\n  private TOKEN_KEY = \"token\";\r\n\r\n  private EXPIRES_KEY = \"expires\";\r\n\r\n  isAuthenticated() {\r\n    var token = this.getToken();\r\n\r\n    if (!token) return false;\r\n\r\n    return true;\r\n\r\n    // const expiration = localStorage.getItem(this.EXPIRES_KEY);\r\n    // const expiresAt = JSON.parse(expiration);\r\n    // const expiresDate = moment(expiresAt);\r\n\r\n    // return moment().isBefore(expiresDate);\r\n  }\r\n\r\n  getToken() {\r\n    return localStorage.getItem(this.TOKEN_KEY);\r\n  }\r\n\r\n  challengeImpersonation(token: string): Promise<string> {\r\n    localStorage.setItem(this.TOKEN_KEY, token);\r\n\r\n    return this.api\r\n      .challengeImpersonation(token)\r\n      .pipe(\r\n        tap((result) => {\r\n          catchError((error) => {\r\n            localStorage.removeItem(this.TOKEN_KEY);\r\n            return throwError(error);\r\n          });\r\n        })\r\n      )\r\n      .toPromise();\r\n  }\r\n\r\n  login(userName: string, password: string): Promise<any> {\r\n    return this.api\r\n      .login({\r\n        userName: userName,\r\n        password: password,\r\n        franchiseCode: sessionStorage.getItem(\"seller_code\"),\r\n      })\r\n      .pipe(\r\n        tap((result) => {\r\n          localStorage.setItem(this.TOKEN_KEY, result.token.access_token);\r\n        })\r\n      )\r\n      .toPromise();\r\n  }\r\n\r\n  logout() {\r\n    localStorage.removeItem(this.TOKEN_KEY);\r\n  }\r\n}\r\n","\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ClientService } from '../services/client-service';\r\n\r\n@Injectable()\r\nexport class BalanceService {\r\n    constructor(private clientService: ClientService) { }\r\n\r\n    private balanceSource = new BehaviorSubject(0);\r\n    currentBalance = this.balanceSource.asObservable();\r\n\r\n    initialise() {\r\n        this.clientService.getBalance().pipe().subscribe(result => {\r\n            this.updateBlanace(result);\r\n          });\r\n    };\r\n\r\n    updateBlanace(newBalance: number) {\r\n        this.balanceSource.next(newBalance);\r\n    };\r\n}\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { Client } from \"../../../interfaces/common/signUp\";\r\nimport { HttpService } from \"../../common/api/http.service\";\r\n@Injectable()\r\nexport class ClientService {\r\n  getName(clientId: number): any {\r\n    return this.api.get(`${this.apiController}/name`);\r\n  }\r\n  constructor(private api: HttpService) {}\r\n\r\n  private readonly apiController: string = \"client\";\r\n\r\n  get(clientId: number) {\r\n    return this.api.get(`${this.apiController}/${clientId}`);\r\n  }\r\n\r\n  getBalance(): Observable<any> {\r\n    return this.api.get(`${this.apiController}/balance`);\r\n  }\r\n\r\n  getCompany(): Observable<Client> {\r\n    return this.api.get(`${this.apiController}/`);\r\n  }\r\n\r\n  isSuspended(): Observable<boolean> {\r\n    return this.api.get(`${this.apiController}/suspended`);\r\n  }\r\n\r\n  delete(): Observable<boolean> {\r\n    return this.api.get(`${this.apiController}/delete`);\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpService } from \"../../common/api/http.service\";\r\nimport { shareReplay } from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class ColourService {\r\n  constructor(private api: HttpService) {}\r\n\r\n  public primaryColour$ = this.api\r\n    .get(`franchise/${sessionStorage.getItem(\"seller_code\")}/styles/primary`, {\r\n      responseType: \"text\",\r\n    })\r\n    .pipe(shareReplay(1));\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { FileSaverService } from \"ngx-filesaver\";\r\n\r\n@Injectable()\r\nexport class ExportService {\r\n    constructor(private fileSaver: FileSaverService) {}\r\n    exportToCsv(response: any, fileName: string) {\r\n        this.fileSaver.save(new Blob([response], { type: 'text/csv' }), `${fileName}.csv`);\r\n    }\r\n\r\n    exportToPdf(response: any, fileName: string) {\r\n        this.fileSaver.save(new Blob([response], { type: 'application/pdf' }), `${fileName}.pdf`);\r\n    }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { FranchiseApi } from \"../api/franchise.api\";\r\n\r\n@Injectable()\r\nexport class FranchiseService {\r\n  constructor(private api: FranchiseApi) {}\r\n\r\n  isFranchisor(): Observable<boolean> {\r\n    return this.api.isFranchisor(sessionStorage.getItem(\"seller_code\"));\r\n  }\r\n\r\n  getResellers(): Observable<any[]> {\r\n    return this.api.getResellers(sessionStorage.getItem(\"seller_code\"));\r\n  }\r\n\r\n  get(): Observable<any> {\r\n    return this.api.get(sessionStorage.getItem(\"seller_code\")).pipe(\r\n      map((config) => {\r\n        return config;\r\n      })\r\n    );\r\n  }\r\n\r\n  calculateRevenueForReseller(resellerId: number): Observable<any> {\r\n    return this.api.calculateRevenueForReseller(resellerId);\r\n  }\r\n\r\n  calculateRevenuePerReseller(\r\n    periodStart: Date,\r\n    periodEnd: Date\r\n  ): Observable<any> {\r\n    return this.api.calculateRevenuePerReseller(periodStart, periodEnd);\r\n  }\r\n\r\n  topResellersByRevenue(periodStart: Date, periodEnd: Date): Observable<any> {\r\n    return this.api.topResellersByRevenue(periodStart, periodEnd);\r\n  }\r\n\r\n  topResellersByClientCount(\r\n    periodStart: Date,\r\n    periodEnd: Date\r\n  ): Observable<any> {\r\n    return this.api.topResellersByClientCount(periodStart, periodEnd);\r\n  }\r\n\r\n  countClients(): Observable<any> {\r\n    return this.api.countClients();\r\n  }\r\n\r\n  countResellers(): Observable<any> {\r\n    return this.api.countResellers();\r\n  }\r\n\r\n  calculateRevenuePerMonth(): Observable<any> {\r\n    return this.api.calculateRevenuePerMonth();\r\n  }\r\n\r\n  calculateUnRealisedRevenue(): Observable<number> {\r\n    return this.api.calculateUnRealisedRevenue();\r\n  }\r\n\r\n  exportRevenuePerReseller(periodStart: Date, periodEnd: Date) {\r\n    return this.api.exportRevenuePerReseller(periodStart, periodEnd);\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { FranchiseeApi } from \"../api/franchisee.api\";\r\n\r\n@Injectable()\r\nexport class FranchiseeService {\r\n  getName(franchiseeId: number): Observable<string> {\r\n    return this.api.getName(franchiseeId);\r\n  }\r\n  constructor(private api: FranchiseeApi) {}\r\n\r\n  countClients(): Observable<number> {\r\n    return this.api.countClients();\r\n  }\r\n\r\n  countClientsForReseller(resellerId: number) {\r\n    return this.api.countClientsForReseller(resellerId);\r\n  }\r\n\r\n  countNewClientsPerMonth(franchiseeId: number): Observable<any> {\r\n    return this.api.countNewClientsPerMonth(franchiseeId);\r\n  }\r\n\r\n  countTotalClientsPerMonth(franchiseeId: number): Observable<any> {\r\n    return this.api.countTotalClientsPerMonth(franchiseeId);\r\n  }\r\n\r\n  calculateRevenuPerClient(\r\n    franchiseeId: number,\r\n    periodStart: Date,\r\n    periodEnd: Date\r\n  ): Observable<any> {\r\n    return this.api.calculateRevenuePerClient(\r\n      franchiseeId,\r\n      periodStart,\r\n      periodEnd\r\n    );\r\n  }\r\n\r\n  exportRevenuePerClient(\r\n    franchiseeId: number,\r\n    periodStart: Date,\r\n    periodEnd: Date\r\n  ) {\r\n    return this.api.exportRevenuePerClient(\r\n      franchiseeId,\r\n      periodStart,\r\n      periodEnd\r\n    );\r\n  }\r\n\r\n  calculateUnRealisedRevenue(franchiseeId: number): Observable<number> {\r\n    return this.api.calculateUnRealisedRevenue(franchiseeId);\r\n  }\r\n\r\n  calculateUnRealisedRevenueForReseller(\r\n    franchiseeId: number\r\n  ): Observable<number> {\r\n    return this.api.calculateUnRealisedRevenueForReseller(franchiseeId);\r\n  }\r\n\r\n  calculateRevenuePerMonth(franchiseeId: number): Observable<any> {\r\n    return this.api.calculateRevenuePerMonth(franchiseeId);\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { PasswordApi } from \"../api/password.api\";\r\n\r\n@Injectable()\r\nexport class PasswordService {\r\n    constructor(private passwordApi: PasswordApi) {}\r\n    \r\n    requestPasswordReset(email: string): Observable<boolean> {\r\n        return this.passwordApi.requestPasswordReset(email);\r\n    }\r\n\r\n    validateResetPasswordToken(token: string): Observable<boolean> {\r\n        return this.passwordApi.validateResetPasswordToken(token);\r\n    }\r\n\r\n    resetPassword(passwordReset: any) {\r\n        return this .passwordApi.resetPassword(passwordReset);\r\n    }\r\n\r\n    changePassword(newPassword: any) {\r\n        return this.passwordApi.changePassword(newPassword);\r\n    }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { PaymentsApi } from \"../api/payment.api\";\r\nimport { environment } from \"../../../../../environments/environment\";\r\n\r\n@Injectable()\r\nexport class PaymentService {\r\n  constructor(private api: PaymentsApi) {}\r\n\r\n  removeAutomatedTopUp(): Observable<any> {\r\n    return this.api.removeAutomatedTopUp();\r\n  }\r\n\r\n  getAutomatedTopUp(): Observable<any> {\r\n    return this.api.getAutomatedTopUp();\r\n  }\r\n\r\n  getPayments(startDate: Date, endDate: Date): Observable<any> {\r\n    return this.api.getPayments(startDate, endDate);\r\n  }\r\n\r\n  topUp(topup: any): Observable<any> {\r\n    return this.api.topUp(topup);\r\n  }\r\n\r\n  getPaymentCards(): Observable<any> {\r\n    return this.api.getPaymentCards();\r\n  }\r\n\r\n  exportPayments(startDate: Date, endDate: Date): any {\r\n    return this.api.exportPayments(startDate, endDate);\r\n  }\r\n\r\n  downloadReceipt(receiptId: number): any {\r\n    return this.api.downloadReceipt(\r\n      receiptId,\r\n      sessionStorage.getItem(\"seller_code\")\r\n    );\r\n  }\r\n}\r\n","\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { PhoneNumbersApi } from '../api/numbers.api';\r\n\r\n@Injectable()\r\nexport class PhoneNumbersService {\r\n\r\n  constructor(private api: PhoneNumbersApi) { }\r\n\r\n  getNumbers(prefix: string, category: string): any {\r\n    return this.api.getNumbers(prefix, category);\r\n  }\r\n\r\n  purchaseNumber(numberToPurchase: any): Observable<any> {\r\n    return this.api.purchaseNumber(numberToPurchase);\r\n  }\r\n}","\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { PricingApi } from '../api/pricing.api';\r\n\r\n@Injectable()\r\nexport class PricingService {\r\n\r\n  constructor(private api: PricingApi) { }\r\n\r\n  getMonthlyServiceCharges(): any {\r\n    return this.api.getMonthlyServiceCharges();\r\n  }\r\n\r\n  getNumberCharges(): any {\r\n    return this.api.getNumberCharges();\r\n  }\r\n\r\n  getReceptionistCharge(): any {\r\n    return this.api.getReceptionistCharge();\r\n  }\r\n\r\n  getPricing(prefix: string, category: string): any {\r\n    return this.api.get(prefix, category);\r\n  }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { Call, CallMessage } from \"../../../interfaces/receptionist/reception\";\r\nimport { ReceptionistApi } from \"../api/receptionist-api\";\r\n\r\n@Injectable()\r\nexport class ReceptionistService {\r\n  constructor(private api: ReceptionistApi) {}\r\n\r\n  getMessages(startDate: Date, endDate: Date): Observable<CallMessage[]> {\r\n    return this.api.getMessages(startDate, endDate);\r\n  }\r\n\r\n  exportMessages(startDate: Date, endDate: Date): any {\r\n    return this.api.exportMessages(startDate, endDate);\r\n  }\r\n\r\n  getCalls(startDate: Date, endDate: Date): Observable<Call[]> {\r\n    return this.api.getCalls(startDate, endDate);\r\n  }\r\n\r\n  getDailyCalls(): Observable<any> {\r\n    return this.api.getDailyCalls();\r\n  }\r\n\r\n  getMonthlyCalls(): Observable<any> {\r\n    return this.api.getMonthlyCalls();\r\n  }\r\n\r\n  exportCalls(startDate: Date, endDate: Date): any {\r\n    return this.api.exportCalls(startDate, endDate);\r\n  }\r\n\r\n  getDailyTalkTime(): Observable<any> {\r\n    return this.api.getDailyTalkTime();\r\n  }\r\n\r\n  getMonthlyTalkTime(): Observable<any> {\r\n    return this.api.getMonthlyTalkTime();\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpService } from \"../../common/api/http.service\";\r\nimport { ExportApi } from \"../api/export.api\";\r\n\r\n@Injectable()\r\nexport class ResellerService {\r\n  private readonly apiController: string = \"reseller\";\r\n\r\n  constructor(private api: HttpService, private exportApi: ExportApi) {}\r\n\r\n  get(resellerId: number): Observable<any> {\r\n    return this.api.get(`${this.apiController}/${resellerId}`);\r\n  }\r\n\r\n  isClient(): Observable<boolean> {\r\n    return this.api.get(`${this.apiController}/is-client`);\r\n  }\r\n\r\n  getOutpaymentConfig(): Observable<any> {\r\n    return this.api.get(`${this.apiController}/outpayment/config`);\r\n  }\r\n\r\n  countClients(): Observable<number> {\r\n    return this.api.get(`${this.apiController}/clients/count`);\r\n  }\r\n\r\n  countClientsForReseller(resellerId: number): Observable<number> {\r\n    return this.api.get(`${this.apiController}/${resellerId}/clients/count`);\r\n  }\r\n\r\n  countNewClientsPerMonth(): Observable<any> {\r\n    return this.api.get(`${this.apiController}/clients/new/count/monthly`);\r\n  }\r\n\r\n  countTotalClientsPerMonth(): Observable<any> {\r\n    return this.api.get(`${this.apiController}/clients/count/monthly`);\r\n  }\r\n\r\n  calculateRevenuePerClient(\r\n    periodStart: Date,\r\n    periodEnd: Date\r\n  ): Observable<any> {\r\n    return this.api.get(\r\n      `${\r\n        this.apiController\r\n      }/revenue/client?periodStart=${periodStart.toDateString()}&periodEnd=${periodEnd.toDateString()}`\r\n    );\r\n  }\r\n\r\n  exportRevenuePerClient(periodStart: Date, periodEnd: Date): Observable<any> {\r\n    return this.exportApi.get(\r\n      `${\r\n        this.apiController\r\n      }/revenue/client/export?periodStart=${periodStart.toDateString()}&periodEnd=${periodEnd.toDateString()}`\r\n    );\r\n  }\r\n\r\n  calculateRevenuePerMonth(): Observable<any> {\r\n    return this.api.get(`${this.apiController}/revenue/monthly`);\r\n  }\r\n\r\n  calculateUnRealisedRevenue(): Observable<any> {\r\n    return this.api.get(`${this.apiController}/revenue/unrealised`);\r\n  }\r\n\r\n  calculateUnRealisedRevenueForReseller(\r\n    resellerId: number\r\n  ): Observable<number> {\r\n    return this.api.get(\r\n      `${this.apiController}/${resellerId}/revenue/unrealised`\r\n    );\r\n  }\r\n\r\n  delete(): Observable<boolean> {\r\n    return this.api.get(`${this.apiController}/delete`);\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { signUpForm, signUpResult } from \"../../../interfaces/common/signUp\";\r\nimport { SignUpApi } from \"../api/sign-up-api\";\r\n\r\n@Injectable()\r\nexport class SignUpService {\r\n  getFranchiseeCaption(): Observable<string> {\r\n    return this.api.getFranchiseeCaption();\r\n  }\r\n  constructor(private api: SignUpApi) {}\r\n\r\n  checkEmail(email: string): Observable<any> {\r\n    return this.api.checkEmail(email);\r\n  }\r\n\r\n  signUp(signUpForm: signUpForm): Observable<signUpResult> {\r\n    return this.api.signUp(signUpForm);\r\n  }\r\n\r\n  purchaseNumber(number: any): Observable<any> {\r\n    return this.api.purchaseNumber(number);\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpService } from \"../../common/api/http.service\";\r\n\r\n@Injectable()\r\nexport class StatementsService {\r\n  constructor(private api: HttpService) {}\r\n\r\n  private readonly apiController: string = \"statements\";\r\n\r\n  getStatements(): Observable<[]> {\r\n    return this.api.get(`${this.apiController}`);\r\n  }\r\n\r\n  get(statementNumber: number): Observable<any> {\r\n    return this.api.get(`${this.apiController}/${statementNumber}`, {\r\n      responseType: \"blob\",\r\n    });\r\n  }\r\n}\r\n","import {\r\n  ModuleWithProviders,\r\n  NgModule,\r\n  Optional,\r\n  SkipSelf,\r\n} from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { throwIfAlreadyLoaded } from \"./module-import-guard\";\r\n\r\nimport { CommonBackendModule } from \"./backend/common/common-backend.module\";\r\nimport { ReceptionistBackendModule } from \"./backend/receptionist/receptionist-backend.module\";\r\nimport { PaymentValuesExtractor } from \"./utils/payment-values-extractor\";\r\nimport { ExportService } from \"./backend/receptionist/services/export-service\";\r\nimport { FileSaverModule } from \"ngx-filesaver\";\r\nimport { AddressValuesExtractor } from \"./utils/address-values-extractor\";\r\nimport { GraphDataBuilder } from \"./utils/graph-data-builder\";\r\n\r\nexport const NB_CORE_PROVIDERS = [\r\n  ...CommonBackendModule.forRoot().providers,\r\n  ...ReceptionistBackendModule.forRoot().providers,\r\n  PaymentValuesExtractor,\r\n  AddressValuesExtractor,\r\n  GraphDataBuilder,\r\n];\r\n\r\nconst COMPONENTS = [];\r\n\r\n@NgModule({\r\n  declarations: [...COMPONENTS],\r\n  imports: [CommonModule, FileSaverModule],\r\n  exports: [],\r\n})\r\nexport class CoreModule {\r\n  constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\r\n    throwIfAlreadyLoaded(parentModule, \"CoreModule\");\r\n  }\r\n\r\n  static forRoot(): ModuleWithProviders<CoreModule> {\r\n    return {\r\n      ngModule: CoreModule,\r\n      providers: [...NB_CORE_PROVIDERS, ExportService],\r\n    };\r\n  }\r\n}\r\n","export class User {\r\n  password = \"\";\r\n  confirmPassword = \"\";\r\n  fullName = \"\";\r\n  email = \"\";\r\n  isTermsAndConditionsAccepted = false;\r\n}\r\n\r\nexport class Contact {\r\n  email = \"\";\r\n  name = \"\";\r\n  phoneNo = \"\";\r\n  isPrimary = false;\r\n  sendSms = false;\r\n  sendEmail = false;\r\n}\r\n\r\nexport class Address {\r\n  addressLine1 = \"\";\r\n  addressLine2 = \"\";\r\n  addressLine3 = \"\";\r\n  postCode = \"\";\r\n  city = \"\";\r\n  county = \"\";\r\n  country = \"\";\r\n}\r\nexport class Reception {\r\n  virtualNumberPrefix = \"\";\r\n  virtualNumberRange = \"\";\r\n  virtualNumberNumber = \"\";\r\n  numberPlan = \"\";\r\n  description = \"\";\r\n  openingHours = \"\";\r\n  phoneNo = \"\";\r\n  website = \"\";\r\n  email = \"\";\r\n  contacts = [];\r\n  shouldCollectCompanyName: boolean = false;\r\n  greeting: \"\";\r\n}\r\n\r\nexport class Client {\r\n  name = \"\";\r\n  isActive = true;\r\n  isDeleted = false;\r\n  phoneNumber = \"\";\r\n  emailAddress = \"\";\r\n  description = \"\";\r\n  website = \"\";\r\n  openingHours: \"\";\r\n  companyAddressLine1: \"\";\r\n  companyAddressLine2: \"\";\r\n  companyAddressLine3: \"\";\r\n  companyCity: \"\";\r\n  companyCounty: \"\";\r\n  companyCountry: \"\";\r\n  companyPostCode: \"\";\r\n  billingAddressLine1: \"\";\r\n  billingAddressLine2: \"\";\r\n  billingAddressLine3: \"\";\r\n  billingCity: \"\";\r\n  billingCounty: \"\";\r\n  billingCountry: \"\";\r\n  billingPostCode: \"\";\r\n  receptions = [];\r\n  isReseller = false;\r\n  isSuspended = false;\r\n}\r\n\r\nexport class Payment {\r\n  amount = 0;\r\n  createAutoTopUp = false;\r\n  cardId = 0;\r\n  cardNumber = \"\";\r\n  cardHolderName = \"\";\r\n  cvc = \"\";\r\n  expiryMonth = \"\";\r\n  expiryYear = \"\";\r\n  saveCardDetails = false;\r\n  cardDescription = \"\";\r\n}\r\n\r\nexport class signUpForm {\r\n  franchiseCode = \"\";\r\n  resellerId = 0;\r\n  signUpCode: \"\";\r\n  user = new User();\r\n  client = new Client();\r\n  payment = new Payment();\r\n}\r\n\r\nexport class signUpResult {\r\n  status = \"\";\r\n  errorMessage = \"\";\r\n  isRectifiableError = false;\r\n  token = \"\";\r\n}\r\n","import { Observable } from \"rxjs\";\r\n\r\nexport interface Payment {\r\n  amount: string;\r\n  name: string;\r\n  cardNo: string;\r\n  expiryMonth: string;\r\n  expiryYear: string;\r\n  cvc: string;\r\n}\r\n\r\nexport abstract class paymentsData {\r\n  abstract topUp(topup: any): Observable<boolean>;\r\n  abstract getPayments(): Observable<any>;\r\n}\r\n\r\nexport const MINIMUM_TOP_UP = 100;\r\n\r\nexport const LOW_BALANCE_THRESHOLD = 50;\r\n","\r\n\r\nexport function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\r\n  if (parentModule) {\r\n    throw new Error(`${moduleName} has already been loaded. Import Core modules in the AppModule only.`);\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { FormGroup } from \"@angular/forms\";\r\nimport { Address } from \"../interfaces/common/signUp\";\r\n\r\n@Injectable()\r\nexport class AddressValuesExtractor\r\n{\r\n    getAddress(addressForm: FormGroup): Address {\r\n        return {\r\n            addressLine1: addressForm.get('addressLine1').value,\r\n            addressLine2: addressForm.get('addressLine2').value,\r\n            addressLine3: addressForm.get('addressLine3').value,\r\n            city: addressForm.get('city').value,\r\n            county: addressForm.get('county').value,\r\n            country: addressForm.get('country').value,\r\n            postCode: addressForm.get('postCode').value\r\n        };\r\n    }\r\n}","\r\n\r\nexport const EMAIL_PATTERN = String.raw`^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$`;\r\nexport const NUMBERS_PATTERN = String.raw`^-?[0-9]+$`;\r\nexport const DOUBLE_PATTERN = '[+-]?([0-9]*[.])?[0-9]+';\r\n\r\nexport const PHONE_NUMBER_PATTERN =  String.raw`^(?:(?:\\(?(?:0(?:0|11)\\)?[\\s-]?\\(?|\\+)44\\)?[\\s-]?(?:\\(?0\\)?[\\s-]?)?)|(?:\\(?0))(?:(?:\\d{5}\\)?[\\s-]?\\d{4,5})|(?:\\d{4}\\)?[\\s-]?(?:\\d{5}|\\d{3}[\\s-]?\\d{3}))|(?:\\d{3}\\)?[\\s-]?\\d{3}[\\s-]?\\d{3,4})|(?:\\d{2}\\)?[\\s-]?\\d{4}[\\s-]?\\d{4}))(?:[\\s-]?(?:x|ext\\.?|\\#)\\d{3,4})?$`;\r\nexport const URL_PATTERN = String.raw`(https?:\\/\\/)?([\\w\\-])+\\.{1}([a-zA-Z0-9]{2,63})([\\/\\w-]*)*\\/?\\??([^#\\n\\r]*)?#?([^\\n\\r]*)`;\r\n\r\nexport const DATE_DISPLAY_FORMAT = \"EEE dd MMM yyyy h:mm a\";","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { ColourService } from \"../backend/receptionist/services/colour-service\";\r\n\r\n@Injectable()\r\nexport class GraphDataBuilder {\r\n  constructor(private colourService: ColourService) {}\r\n\r\n  build(result: any): Observable<any> {\r\n    return this.colourService.primaryColour$.pipe(\r\n      map((colour) => {\r\n        return {\r\n          labels: result.map((x: any) => x.name),\r\n          datasets: [\r\n            {\r\n              backgroundColor: colour, //'#e80c30',\r\n              data: result.map((x: any) => x.value),\r\n            },\r\n          ],\r\n        };\r\n      })\r\n    );\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { FormGroup } from \"@angular/forms\";\r\nimport { Payment } from \"../interfaces/common/signUp\";\r\n\r\n@Injectable()\r\nexport class PaymentValuesExtractor\r\n{\r\n    private _payment: Payment = new Payment();\r\n\r\n    newCard(cardDetailsForm:FormGroup): PaymentValuesExtractor\r\n    {\r\n        this._payment.cardHolderName = cardDetailsForm.get('name').value;\r\n        this._payment.cardNumber = cardDetailsForm.get('number').value;\r\n        this._payment.cvc = cardDetailsForm.get('cvc').value;\r\n        this._payment.expiryMonth = cardDetailsForm.get('expiryMonth').value;\r\n        this._payment.expiryYear = cardDetailsForm.get('expiryYear').value;\r\n        this._payment.saveCardDetails = cardDetailsForm.get('saveCardDetails').value;\r\n        this._payment.cardDescription = cardDetailsForm.get('cardDescription').value;\r\n\r\n        return this;\r\n    }\r\n\r\n    existingCard(cardId: number): PaymentValuesExtractor {\r\n\r\n        this._payment.cardId = cardId;\r\n\r\n        return this;\r\n    }\r\n\r\n    paymentValues(topUpForm:FormGroup) : PaymentValuesExtractor {\r\n        this._payment.amount = topUpForm.get('amount').value;\r\n        this._payment.createAutoTopUp = topUpForm.get('isAutoTopUp').value;\r\n        \r\n        return this;\r\n    }\r\n\r\n    getPayment(): Payment {\r\n        let payment = new Payment(); \r\n        \r\n        payment.cardId = this._payment.cardId;\r\n        payment.cardHolderName = this._payment.cardHolderName;\r\n        payment.cardNumber = this._payment.cardNumber;\r\n        payment.cvc = this._payment.cvc;\r\n        payment.expiryMonth = this._payment.expiryMonth;\r\n        payment.expiryYear = this._payment.expiryYear;\r\n        payment.saveCardDetails = this._payment.saveCardDetails;\r\n        payment.cardDescription = this._payment.cardDescription;\r\n        payment.amount = this._payment.amount;\r\n        payment.createAutoTopUp = this._payment.createAutoTopUp;\r\n\r\n        this._payment = new Payment();\r\n\r\n        return payment;\r\n    }\r\n}","import { ExtraOptions, RouterModule, Routes } from \"@angular/router\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { AuthGuard } from \"./@auth/auth.guard\";\r\nimport { ModeCheckerComponent } from \"./mode-checker/mode-checker.component\";\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: \"client\",\r\n    canActivate: [AuthGuard],\r\n    loadChildren: () =>\r\n      import(\"./client/client.module\").then((m) => m.ClientModule),\r\n  },\r\n  {\r\n    path: \"reseller\",\r\n    canActivate: [AuthGuard],\r\n    loadChildren: () =>\r\n      import(\"./reseller/reseller.module\").then((m) => m.ResellerModule),\r\n  },\r\n  {\r\n    path: \"franchise\",\r\n    canActivate: [AuthGuard],\r\n    loadChildren: () =>\r\n      import(\"./franchise/franchise.module\").then((m) => m.FranchiseModule),\r\n  },\r\n  {\r\n    path: \"auth\",\r\n    loadChildren: () => import(\"./@auth/auth.module\").then((m) => m.AuthModule),\r\n  },\r\n  {\r\n    path: \"register\",\r\n    loadChildren: () =>\r\n      import(\"./registration/registration.module\").then(\r\n        (m) => m.RegistrationModule\r\n      ),\r\n  },\r\n  {\r\n    path: \"mode\",\r\n    component: ModeCheckerComponent,\r\n  },\r\n  {\r\n    path: \"\",\r\n    loadChildren: () =>\r\n      import(\"./marketing/marketing.module\").then((m) => m.MarketingModule),\r\n  },\r\n];\r\n\r\nconst config: ExtraOptions = {\r\n  useHash: false,\r\n  anchorScrolling: \"enabled\",\r\n};\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forRoot(routes, config)],\r\n  exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'ngx-app',\r\n  template: '<router-outlet></router-outlet>',\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n\r\n  private destroy$: Subject<void> = new Subject<void>();\r\n\r\n  constructor() {  }\r\n\r\n  ngOnInit(): void {\r\n\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.destroy$.next();\r\n    this.destroy$.complete();\r\n  }\r\n}\r\n","import { BrowserModule } from \"@angular/platform-browser\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { CoreModule } from \"./@core/core.module\";\r\nimport { MomentModule } from \"../../node_modules/ngx-moment\";\r\nimport { AppComponent } from \"./app.component\";\r\nimport { AppRoutingModule } from \"./app-routing.module\";\r\nimport { AuthModule } from \"./@auth/auth.module\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { NgbModalModule, NgbAccordionModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { RegistrationModule } from \"./registration/registration.module\";\r\nimport { ModeCheckerComponent } from \"./mode-checker/mode-checker.component\";\r\nimport { ComponentsModule } from \"./@components/components.module\";\r\nimport { MarketingModule } from \"./marketing/marketing.module\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\nimport { ClientDetailsModule } from \"./client-details/client-details.module\";\r\n\r\n@NgModule({\r\n  declarations: [AppComponent, ModeCheckerComponent],\r\n  imports: [\r\n    BrowserModule,\r\n    BrowserAnimationsModule,\r\n    ReactiveFormsModule,\r\n    HttpClientModule,\r\n    MatIconModule,\r\n    AppRoutingModule,\r\n    AuthModule.forRoot(),\r\n    RegistrationModule.forRoot(),\r\n    MarketingModule.forRoot(),\r\n    CoreModule.forRoot(),\r\n    NgbModalModule,\r\n    NgbAccordionModule,\r\n    MomentModule,\r\n    ComponentsModule,\r\n    NgSelectModule,\r\n  ],\r\n  bootstrap: [AppComponent],\r\n  providers: [],\r\n})\r\nexport class AppModule {}\r\n","import { ChangeDetectionStrategy, Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"action-coach-accordian-item\",\r\n  templateUrl: \"./action-coach-accordian-item.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class ActionCoachAccordianItemComponent {\r\n  constructor() {}\r\n\r\n  showPanel = false;\r\n}\r\n","<div class=\"accordion-item\">\r\n  <div\r\n    class=\"d-flex\"\r\n    style=\"cursor: pointer\"\r\n    role=\"button\"\r\n    (click)=\"showPanel = !showPanel\">\r\n    <div class=\"circle-plus closed\" [ngClass]=\"{ opened: showPanel }\">\r\n      <div class=\"circle\">\r\n        <div class=\"horizontal\"></div>\r\n        <div class=\"vertical\"></div>\r\n      </div>\r\n    </div>\r\n    <div>\r\n      <h4>\r\n        <ng-content select=\"[question]\"></ng-content>\r\n      </h4>\r\n    </div>\r\n  </div>\r\n  <div class=\"panel\" style=\"max-height: 102px\" *ngIf=\"showPanel\">\r\n    <p><ng-content select=\"[answer]\"></ng-content></p>\r\n  </div>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"action-coach-accordian\",\r\n  templateUrl: \"./action-coach-accordian.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class ActionCoachAccordianComponent {\r\n  constructor() {}\r\n\r\n  @Input() items = [];\r\n}\r\n","<div class=\"accordian\">\r\n    <action-coach-accordian-item *ngFor=\"let item of items\">\r\n        <span question>{{item.question}}</span>\r\n        <span answer>{{item.answer}}</span>\r\n    </action-coach-accordian-item>\r\n  </div>","import { ChangeDetectionStrategy, Component } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"r247-faqs\",\r\n  templateUrl: \"./faqs.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247FaqsComponent {\r\n  constructor() {}\r\n\r\n  receptionFaqs = [\r\n    {\r\n      question: \"Who will answer my calls?\",\r\n      answer:\r\n        \"Your dedicated receptionist sits within a small team of highly trained receptionists based in our Peterborough Call Centre. We are a solely UK based service, providing 24/7 reception services in your company name. The team are friendly and professional, ensuring your customers feel as if they are speaking to a member of your team.\",\r\n    },\r\n    {\r\n      question: \"How do I choose a phone number and how does it work?\",\r\n      answer:\r\n        \"247Receptionist offers a choice of any UK dial code or non-geographical phone number which become your companies own phone number. You are free to publish this number as your main business number or as an additional number [for specific marketing purposes for example].\",\r\n    },\r\n    {\r\n      question:\r\n        \"I already have a phone number that my customers use, what happens then?\",\r\n      answer:\r\n        \"Most clients divert their existing business number on overflow as a safety net to catch the calls they had been missing. This is highly effective in maximising opportunity and prevents wasted advertising budget. The speed of messaging puts you in front of your customer before they have had the time to call your competitors.\",\r\n    },\r\n    {\r\n      question: \"How will I know that I have missed a call?\",\r\n      answer:\r\n        \"You can choose any combination of methods to receive and access message details. We send messages to you / your staff by text message, by email and via our online portal, where communication is stored permanently for retrieval at any time. The data includes the amount of time your receptionist has taken to represent your business on every call to aid reconciliation. All data are available for download.\",\r\n    },\r\n    {\r\n      question:\r\n        \"How will my receptionist know how to answer for you and what to say?\",\r\n      answer:\r\n        \"When your customer calls, your company screen will open for your receptionist. It contains all the information required to represent your business professionally. Your receptionist will use your customised greeting to answer your customer calls and will represent you professionally. Your customer will know they have reached your business and leave the caller confident that you will respond when you are able.\",\r\n    },\r\n  ];\r\n\r\n  accountFaqs = [\r\n    {\r\n      question: \"Is there a fee to sign up or register?\",\r\n      answer:\r\n        \"There are no sign up or registration fees. Simply pay the first month charge for your chosen number and purchase the credit you require.\",\r\n    },\r\n    {\r\n      question: \"What happens if I run out of credit?\",\r\n      answer:\r\n        \"When your balance drops below £50 and you do not have auto top ups enabled, we will email you to let you know. If you do not top up and your balance drops below zero, your account will be suspended and we will stop handling your calls until a top up is made. After thirty days your account will be deactivated and your phone number handed back to the provider.\",\r\n    },\r\n    {\r\n      question: \"Am I tied in to a long contract. How do I cancel if I want?\",\r\n      answer:\r\n        \"Change in life and business circumstance is a constant. If for whatever reason the service is no longer required, simply cease to use it and not purchase any further credit, as there is no contract term to be tied in to. Your chosen phone number can be retained and used without use of the receptionist service, for as long as you require, by topping up credit for your phone number usage only.\",\r\n    },\r\n  ];\r\n}\r\n","<div class=\"container\">\r\n  <div class=\"row mb-3\">\r\n    <div class=\"col-12\">\r\n      <h2 class=\"text-center\">Frequently Asked Questions</h2>\r\n    </div>\r\n  </div>\r\n  <div class=\"row mb-2\">\r\n    <div class=\"col-12\">\r\n      <h2>Reception Service</h2>\r\n    </div>\r\n  </div>\r\n  <div class=\"row\">\r\n    <div class=\"col-12\">\r\n      <action-coach-accordian [items]=\"receptionFaqs\"></action-coach-accordian>\r\n    </div>\r\n  </div>\r\n  <div class=\"row mt-3 mb-2\">\r\n    <div class=\"col-12\">\r\n      <h2>Account</h2>\r\n    </div>\r\n  </div>\r\n  <div class=\"row\">\r\n    <div class=\"col-12\">\r\n      <action-coach-accordian [items]=\"accountFaqs\"></action-coach-accordian>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { ViewportScroller } from \"@angular/common\";\r\nimport { ChangeDetectionStrategy, Component } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"r247-marketing-header\",\r\n  templateUrl: \"./header.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247MarketingHeaderComponent {\r\n  constructor(private viewPortScroller: ViewportScroller) {}\r\n\r\n  scrollToNumberChooser() {\r\n    this.viewPortScroller.scrollToAnchor(\"number-chooser\");\r\n  }\r\n}\r\n","<div class=\"container\">\r\n<h1 class=\"mb-2\">We Answer Your Calls,<br/> \r\n    On Your Behalf,<br/> \r\n    In Your Company Name</h1>\r\n<h2 class=\"lead my-3 my-md-5\">24 hours a day, 7 days a week</h2>\r\n<button (click)=\"scrollToNumberChooser()\" class=\"btn btn-primary mt-3 mt-md-0\">Choose Your Number</button>\r\n</div>","import { ChangeDetectionStrategy, Component, OnInit } from \"@angular/core\";\r\nimport { SafeResourceUrl } from \"@angular/platform-browser\";\r\nimport { HttpService } from \"../../../@core/backend/common/api/http.service\";\r\nimport { of } from \"rxjs\";\r\n\r\n@Component({\r\n  selector: \"r247-marketing-highlights\",\r\n  templateUrl: \"./highlights.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247MarketingHighlightsComponent implements OnInit {\r\n  constructor(private api: HttpService) {}\r\n\r\n  franchiseName$ = of(\"\");\r\n\r\n  iconOneUrl: SafeResourceUrl;\r\n  captionOne = \"Seize Every Opportunity\";\r\n  subCaptionOne =\r\n    \"According to research by AT&T, 70% of business calls are placed on hold (i.e. the call was 'answered' and placed in a queue). However, of those placed on hold  around 60% hung up\";\r\n\r\n  iconTwoUrl: SafeResourceUrl;\r\n  captiontwo = \"Freedom From Voicemail\";\r\n  subCaptiontwo =\r\n    \"Forbes report 80% of callers directed to voicemail don't leave a message.\";\r\n\r\n  iconThreeUrl: SafeResourceUrl;\r\n  captionThree = \"Be The Business Who Responds First\";\r\n  subCaptionThree =\r\n    \"Research by The Brevet Group found that, depending on sector, 30-50% of sales went to the business which responded first.\";\r\n\r\n  questionOne = \"What percentage of your advertising budget is being wasted?\";\r\n  questionTwo =\r\n    \"What volume of revenue wanted to come your way but went to a competitor who answered the phone first time?\";\r\n\r\n  iconFourUrl: SafeResourceUrl;\r\n  questionOneIconUrl: SafeResourceUrl;\r\n  questionTwoIconUrl: SafeResourceUrl;\r\n\r\n  ngOnInit(): void {\r\n    this.iconOneUrl = this.getIconPath(\"icon1\");\r\n    this.iconTwoUrl = this.getIconPath(\"icon2\");\r\n    this.iconThreeUrl = this.getIconPath(\"icon3\");\r\n    this.iconFourUrl = this.getIconPath(\"icon4\");\r\n    this.questionOneIconUrl = this.getIconPath(\"question1\");\r\n    this.questionTwoIconUrl = this.getIconPath(\"question2\");\r\n\r\n    this.franchiseName$ = this.api.get(\r\n      `franchise/${sessionStorage.getItem(\"seller_code\")}/name`\r\n    );\r\n  }\r\n\r\n  private getIconPath(iconName: string) {\r\n    return `${this.api.apiUrl}/assets/${sessionStorage.getItem(\r\n      \"seller_code\"\r\n    )}/${iconName}.svg`;\r\n  }\r\n}\r\n","<div class=\"d-none d-md-flex justify-content-center text-center container\">\r\n  <div class=\"w-25 mx-5\">\r\n    <div>\r\n      <img class=\"mb-3\" height=\"100\" width=\"100\" [src]=\"iconOneUrl\" />\r\n      <h1>{{ captionOne }}</h1>\r\n    </div>\r\n    <p>{{ subCaptionOne }}</p>\r\n  </div>\r\n  <div class=\"w-25 mx-5\">\r\n    <div>\r\n      <img class=\"mb-3\" height=\"100\" width=\"100\" [src]=\"iconTwoUrl\" />\r\n      <h1>{{ captiontwo }}</h1>\r\n    </div>\r\n    <p>{{ subCaptiontwo }}</p>\r\n  </div>\r\n  <div class=\"w-25 mx-5\">\r\n    <div>\r\n      <img class=\"mb-3\" height=\"100\" width=\"100\" [src]=\"iconThreeUrl\" />\r\n      <h1>{{ captionThree }}</h1>\r\n    </div>\r\n    <p>{{ subCaptionThree }}</p>\r\n  </div>\r\n</div>\r\n<div class=\"d-flex d-md-none flex-column text-center\">\r\n  <div class=\"my-2\">\r\n    <div>\r\n      <img class=\"mb-3 mx-auto\" height=\"100\" width=\"100\" [src]=\"iconOneUrl\" />\r\n      <h1>{{ captionOne }}</h1>\r\n    </div>\r\n    <p>{{ subCaptionOne }}</p>\r\n  </div>\r\n  <div class=\"my-2\">\r\n    <div>\r\n      <img class=\"mb-3\" height=\"100px\" width=\"100px\" [src]=\"iconTwoUrl\" />\r\n      <h1>{{ captiontwo }}</h1>\r\n    </div>\r\n    <p>{{ subCaptiontwo }}</p>\r\n  </div>\r\n  <div class=\"my-2\">\r\n    <div>\r\n      <img class=\"mb-3\" height=\"100px\" width=\"100px\" [src]=\"iconThreeUrl\" />\r\n      <h1>{{ captionThree }}</h1>\r\n    </div>\r\n    <p>{{ subCaptionThree }}</p>\r\n  </div>\r\n</div>\r\n<div class=\"container\">\r\n  <h1 class=\"text-center my-5\">\r\n    <strong\r\n      >Armed with this current information, you might want to ask yourself 2\r\n      questions:</strong\r\n    >\r\n  </h1>\r\n  <div class=\"d-block ml-md-5\">\r\n    <div class=\"d-flex\">\r\n      <img class=\"mr-3 mr-md-5\" [src]=\"questionOneIconUrl\" />\r\n      <h1 class=\"mt-1\">{{ questionOne }}</h1>\r\n    </div>\r\n    <div class=\"d-flex\">\r\n      <img class=\"mr-3 mr-md-5\" [src]=\"questionTwoIconUrl\" />\r\n      <h1 class=\"mt-1\">{{ questionTwo }}</h1>\r\n    </div>\r\n  </div>\r\n  <h1 class=\"text-center mt-5\">\r\n    <strong\r\n      >The best time for you to have met your\r\n      {{ franchiseName$ | async }} receptionist would have been yesterday.\r\n      Unfortunately we can't turn the clock back, so when for you is the next\r\n      best time?</strong\r\n    >\r\n  </h1>\r\n  <div class=\"text-center\">\r\n    <img class=\"mb-3\" height=\"100\" width=\"500\" [src]=\"iconFourUrl\" />\r\n  </div>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Component({\r\n  selector: \"r247-marketing-register\",\r\n  templateUrl: \"./marketing-register.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247MarketingRegisterComponent {\r\n  constructor(protected router: Router) {}\r\n\r\n  goToRegister(selectedNumber) {\r\n    return this.router.navigateByUrl(\r\n      `/register/account?category=${selectedNumber.category}&prefix=${selectedNumber.prefix}&range=${selectedNumber.range}&number=${selectedNumber.number}`\r\n    );\r\n  }\r\n}\r\n","<div id=\"number-chooser\" class=\"row mb-2\">\r\n  <div class=\"col-12 text-center\">\r\n    <h4>You are minutes away from having your own receptionist.</h4>\r\n    </div>\r\n    <div class=\"col-12 text-center\">\r\n      <h4 class=\"mb-3\">Select your new unique number from the list below</h4>\r\n    </div>\r\n  </div>\r\n  <div class=\"row\">\r\n    <div class=\"col-12\">\r\n      <r247-number-chooser (numberConfirmed)=\"goToRegister($event)\"></r247-number-chooser>\r\n    </div>\r\n  </div>","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({ name: 'categoryFriendlyName' })\r\nexport class CategoryFriendlyNamePipe implements PipeTransform {\r\n    transform(value: string) {\r\n\r\n        if (value.length <= 0)\r\n            return value;\r\n\r\n        return value.substring(0, 1).toUpperCase() + value.substring(1);\r\n    }\r\n}","import { ChangeDetectionStrategy, Component, OnInit } from \"@angular/core\";\r\nimport { PricingService } from \"../../../@core/backend/receptionist/services/pricing-service\";\r\n\r\n@Component({\r\n  selector: \"r247-marketing-pricing\",\r\n  templateUrl: \"./pricing.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247MarketingPricingComponent implements OnInit {\r\n  constructor(private pricing: PricingService) {}\r\n\r\n  prices = {};\r\n\r\n  receptionistCharge = \"\";\r\n  numberCharges = [];\r\n  monthlyServiceCharges = [];\r\n\r\n  ngOnInit(): void {\r\n    this.pricing.getReceptionistCharge().subscribe((result) => {\r\n      this.receptionistCharge = result;\r\n    });\r\n\r\n    this.pricing.getNumberCharges().subscribe((result) => {\r\n      this.numberCharges = result;\r\n    });\r\n\r\n    this.pricing.getMonthlyServiceCharges().subscribe((result) => {\r\n      this.monthlyServiceCharges = result;\r\n    });\r\n  }\r\n}\r\n","<h1>Pricing</h1>\r\n<div class=\"row mt-3 mb-2\">\r\n    <div class=\"col-12\">\r\n        <h4>The cost of your Reception Service</h4>\r\n    </div>\r\n</div>\r\n<div class=\"row\">\r\n    <div class=\"col-xs-12 col-md-6\">\r\n        <div class=\"card\">\r\n            <div class=\"card-header\">\r\n                <h6 class=\"card-title\">PA Representation</h6>\r\n            </div>\r\n            <div class=\"card-body\">\r\n                <table class=\"table\">\r\n                    <thead>\r\n                        <tr>\r\n                            <th class=\"auto-width\">Call Duration</th>\r\n                            <th class=\"auto-width\">Charge</th>\r\n                        </tr>\r\n                    </thead>\r\n                    <tbody>\r\n                        <tr>\r\n                            <td class=\"auto-width\">\r\n                                < 10 seconds</td>\r\n                            <td class=\"auto-width\">Free</td>\r\n                        </tr>\r\n                        <tr>\r\n                            <td class=\"auto-width\">> 10 seconds*</td>\r\n                            <td class=\"auto-width\">{{receptionistCharge | pence | pencePer: 'second'}}</td>\r\n                        </tr>\r\n                        <tr>\r\n                            <td class=\"auto-width\" colspan=\"2\"><small> *Billed in 30 second increments</small></td>\r\n                        </tr>\r\n                    </tbody>\r\n                </table>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n<div class=\"row mt-3 mb-2\">\r\n    <div class=\"col-xs-12 col-md-6\">\r\n        <h4>The Cost of your Number</h4>\r\n    </div>\r\n</div>\r\n<div class=\"row\">\r\n    <div class=\"col-xs-12 col-md-6 mb-3 mb-md-0\">\r\n        <div class=\"card\">\r\n            <div class=\"card-header\">\r\n                <h6 class=\"card-title\">Number Rental Charges</h6>\r\n            </div>\r\n            <div class=\"card-body\">\r\n                <table class=\"table\">\r\n                    <thead>\r\n                        <tr>\r\n                            <th class=\"auto-width\">Category</th>\r\n                            <th class=\"auto-width\">Charge</th>\r\n                        </tr>\r\n                    </thead>\r\n                    <tbody>\r\n                        <tr *ngFor=\"let charge of monthlyServiceCharges\">\r\n                            <td class=\"auto-width\">{{charge.category | categoryFriendlyName }}</td>\r\n                            <td class=\"auto-width\">{{charge.charge | currency: 'GBP'}} per month</td>\r\n                        </tr>\r\n                    </tbody>\r\n                </table>\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <div class=\"col-xs-12 col-md-6\">\r\n        <div class=\"card\">\r\n            <div class=\"card-header\">\r\n                <h6 class=\"card-title\">Call Charges</h6>\r\n            </div>\r\n            <div class=\"card-body\">\r\n                <div class=\"table-responsive\">\r\n                    <table class=\"table\">\r\n                        <thead>\r\n                            <tr>\r\n                                <th class=\"auto-width\">Prefix</th>\r\n                                <th class=\"auto-width\">Charge</th>\r\n                            </tr>\r\n                        </thead>\r\n                        <tbody>\r\n                            <tr *ngFor=\"let charge of numberCharges\">\r\n                                <td class=\"auto-width\">{{charge.prefix}}</td>\r\n                                <td class=\"auto-width\">{{charge.charge | pence | pencePer: 'minute'}}</td>\r\n                            </tr>\r\n                        </tbody>\r\n                    </table>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>","import { RouterModule, Routes } from \"@angular/router\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { R247MarketingScreenComponent } from \"./screens/marketing/marketing-screen.component\";\r\nimport { R247MarketingComponent } from \"./marketing.component\";\r\nimport { R247TermsScreenComponent } from \"./screens/legal/terms.component\";\r\nimport { R247PrivacyPolicyScreenComponent } from \"./screens/legal/privacy-policy.component\";\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: \"\",\r\n    component: R247MarketingComponent,\r\n    children: [\r\n      {\r\n        path: \"\",\r\n        component: R247MarketingScreenComponent,\r\n      },\r\n      {\r\n        path: \"terms\",\r\n        component: R247TermsScreenComponent,\r\n      },\r\n      {\r\n        path: \"privacy\",\r\n        component: R247PrivacyPolicyScreenComponent,\r\n      },\r\n    ],\r\n  },\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule],\r\n})\r\nexport class MarketingRoutingModule {}\r\n","import { Component, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"r247-marketing\",\r\n  templateUrl: \"./marketing.component.html\",\r\n})\r\nexport class R247MarketingComponent implements OnInit {\r\n  constructor() {}\r\n\r\n  ngOnInit() {\r\n    if (sessionStorage.getItem(\"seller_code\") === \"247receptionist\")\r\n      window.location.href = \"https://247receptionist.co.uk\";\r\n  }\r\n}\r\n","<div>\r\n    <r247-nav-bar [showAccountLink]=\"false\">\r\n    </r247-nav-bar>\r\n    <div class=\"container-fluid\">\r\n        <div class=\"row\" style=\"margin-top: -0.5rem;\">\r\n            <div class=\"col-12\">\r\n                <router-outlet></router-outlet>\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <div class=\"footer text-white text-center px-1 py-2\">\r\n        <div class=\"d-flex justify-content-center\">\r\n            <div class=\"mx-4\"><a routerLink=\"/terms\" class=\"text-white\">Terms And Conditions</a></div>\r\n            <div class=\"mx-4\"><a routerLink=\"/privacy\" class=\"text-white\">Privacy Policy</a></div>\r\n        </div>\r\n    </div>\r\n</div>","import { NgModule, ModuleWithProviders } from \"@angular/core\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { MarketingRoutingModule } from \"./marketing-routing.module\";\r\nimport { ComponentsModule } from \"../@components/components.module\";\r\nimport { R247MarketingComponent } from \"./marketing.component\";\r\nimport { R247MarketingScreenComponent } from \"./screens/marketing/marketing-screen.component\";\r\nimport { RegistrationModule } from \"../registration/registration.module\";\r\nimport { R247MarketingHeaderComponent } from \"./components/header/header.component\";\r\nimport { R247MarketingHighlightsComponent } from \"./components/highlights/highlights.component\";\r\nimport { R247MarketingPricingComponent } from \"./components/pricing/pricing.component\";\r\nimport { R247FaqsComponent } from \"./components/faqs/faqs.component\";\r\nimport { R247MarketingRegisterComponent } from \"./components/marketing-register/marketing-register.component\";\r\nimport { CategoryFriendlyNamePipe } from \"./components/pricing/category-friendly-name.pipe\";\r\nimport { Marketing247Module } from \"../marketing247/marketing-247.module\";\r\nimport { ActionCoachAccordianComponent } from \"./components/action-coach-accordian/action-coach-accordian.component\";\r\nimport { ActionCoachAccordianItemComponent } from \"./components/action-coach-accordian/action-coach-accordian-item.component\";\r\n\r\nconst COMPONENTS = [\r\n  R247MarketingComponent,\r\n  R247MarketingScreenComponent,\r\n  R247MarketingHeaderComponent,\r\n  R247MarketingHighlightsComponent,\r\n  R247MarketingPricingComponent,\r\n  R247FaqsComponent,\r\n  R247MarketingRegisterComponent,\r\n  CategoryFriendlyNamePipe,\r\n  ActionCoachAccordianComponent,\r\n  ActionCoachAccordianItemComponent,\r\n];\r\n\r\n@NgModule({\r\n  declarations: [...COMPONENTS],\r\n  imports: [\r\n    MarketingRoutingModule,\r\n    ReactiveFormsModule,\r\n    CommonModule,\r\n    FormsModule,\r\n    ComponentsModule,\r\n    NgbModule,\r\n    Marketing247Module,\r\n    RegistrationModule,\r\n  ],\r\n  exports: [],\r\n  providers: [],\r\n})\r\nexport class MarketingModule {\r\n  static forRoot(): ModuleWithProviders<MarketingModule> {\r\n    return {\r\n      ngModule: MarketingModule,\r\n      providers: [],\r\n    };\r\n  }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FranchiseService } from \"../../../@core/backend/receptionist/services/franchise-service\";\r\n\r\n@Component({\r\n  selector: \"r247-privacy-policy\",\r\n  templateUrl: \"./privacy-policy.component.html\",\r\n})\r\nexport class R247PrivacyPolicyScreenComponent implements OnInit {\r\n  constructor(private franchiseService: FranchiseService) {}\r\n\r\n  resellerName = \"\";\r\n  resellerReceptionistWebsite = \"\";\r\n\r\n  ngOnInit() {\r\n    this.franchiseService.get().subscribe((x) => {\r\n      this.resellerName = x.name;\r\n    });\r\n\r\n    this.resellerReceptionistWebsite = window.location.hostname;\r\n  }\r\n}\r\n","<div class=\"container my-4\">\r\n    <h2 class=\"text-center\">Privacy Policy</h2>\r\n        <section class=\"mt-4\">\r\n            <h1>Introduction</h1>\r\n            <p>Welcome to <strong>{{resellerReceptionistWebsite}}</strong> (the \"Website\"). This website is operated by <strong>{{resellerName}}</strong>, an authorised reseller of <a href=\"https://www.totally247.co.uk\" target=\"_blank\">Totally247 Ltd</a>. We are committed to protecting your privacy and ensuring that your personal information is handled in a safe and responsible manner. This privacy policy outlines how we collect, use, and protect your information.</p>\r\n        </section>\r\n        <section class=\"mt-4\">\r\n            <h1>Information We Collect</h1>\r\n            <h3>Personal Information</h3>\r\n            <ul>\r\n                <li>Name</li>\r\n                <li>Email Address</li>\r\n                <li>Phone Number</li>\r\n                <li>Company Name</li>\r\n                <li>Address</li>\r\n            </ul>\r\n            <h3>Usage Data</h3>\r\n            <ul>\r\n                <li>IP Address</li>\r\n                <li>Browser Type and Version</li>\r\n                <li>Pages Visited</li>\r\n                <li>Time and Date of Visit</li>\r\n                <li>Time Spent on Pages</li>\r\n            </ul>\r\n        </section>\r\n        <section class=\"mt-4\">\r\n            <h1>How We Use Your Information</h1>\r\n            <ul>\r\n                <li>To provide and maintain our services</li>\r\n                <li>To notify you about changes to our services</li>\r\n                <li>To allow you to participate in interactive features</li>\r\n                <li>To provide customer support</li>\r\n                <li>To gather analytical insights for service improvement</li>\r\n                <li>To monitor service usage</li>\r\n                <li>To detect, prevent, and address technical issues</li>\r\n                <li>To send marketing and promotional materials (if opted-in)</li>\r\n            </ul>\r\n        </section>\r\n        <section class=\"mt-4\">\r\n            <h1>Cookies and Tracking Technologies</h1>\r\n            <p>We use cookies and similar tracking technologies to monitor website activity. You can set your browser to refuse cookies; however, this may affect website functionality.</p>\r\n        </section>\r\n        <section class=\"mt-4\">\r\n            <h3>Legal Basis for Processing Personal Data</h3>\r\n            <ul>\r\n                <li>Contractual necessity</li>\r\n                <li>Consent</li>\r\n                <li>Legitimate interests</li>\r\n                <li>Legal compliance</li>\r\n                <li>Payment processing</li>\r\n            </ul>\r\n        </section>\r\n        <section class=\"mt-4\">\r\n            <h1>Data Retention</h1>\r\n            <p>We retain your personal information only as long as necessary to fulfill legal obligations, resolve disputes, and enforce policies.</p>\r\n        </section>\r\n        <section class=\"mt-4\">\r\n            <h1>Data Transfer</h1>\r\n            <p>Your personal data may be stored or processed in locations outside of your jurisdiction, where data protection laws may differ.</p>\r\n        </section>\r\n        <section class=\"mt-4\">\r\n            <h1>Data Security</h1>\r\n            <p>We employ commercially acceptable means to protect your data, but absolute security cannot be guaranteed.</p>\r\n        </section>\r\n        <section class=\"mt-4\">\r\n            <h1>Your Data Protection Rights</h1>\r\n            <ul>\r\n                <li><strong>Right to Access:</strong> Request copies of your personal data.</li>\r\n                <li><strong>Right to Rectification:</strong> Request correction of inaccurate or incomplete data.</li>\r\n                <li><strong>Right to Erasure:</strong> Request deletion of your personal data under certain conditions.</li>\r\n                <li><strong>Right to Restrict Processing:</strong> Request limitation on data processing.</li>\r\n                <li><strong>Right to Object:</strong> Object to data processing under certain conditions.</li>\r\n                <li><strong>Right to Data Portability:</strong> Request data transfer to another entity or yourself.</li>\r\n            </ul>\r\n        </section>\r\n        <section class=\"mt-4\">\r\n            <h1>Changes to This Privacy Policy</h1>\r\n            <p>We may update this privacy policy periodically. Updates will be posted on this page.</p>\r\n        </section>\r\n</div>","import { Component, OnInit } from \"@angular/core\";\r\nimport { FranchiseService } from \"../../../@core/backend/receptionist/services/franchise-service\";\r\n\r\n@Component({\r\n  selector: \"r247-terms\",\r\n  templateUrl: \"./terms.component.html\",\r\n})\r\nexport class R247TermsScreenComponent implements OnInit {\r\n  constructor(private franchiseService: FranchiseService) {}\r\n\r\n  resellerName = \"\";\r\n\r\n  ngOnInit() {\r\n    this.franchiseService.get().subscribe((x) => {\r\n      this.resellerName = x.name;\r\n    });\r\n  }\r\n}\r\n","<div class=\"container my-4\">\r\n    <h2 class=\"text-center\">Website Terms and Conditions</h2>\r\n    <section class=\"mt-4\">\r\n        <h1>1. Introduction</h1>\r\n        <p>1.1 These terms and conditions (the \"Terms\") govern your use of our website (the \"Website\") and the services provided by <strong>{{resellerName}}</strong>, an authorised reseller of <a href=\"https://www.totally247.co.uk\" target=\"_blank\">Totally247 Ltd</a>.</p>\r\n        <p>1.2 By using the Website, you accept these Terms in full. If you disagree with these Terms or any part of these Terms, you must not use our Website.</p>\r\n        <p>1.3 Our Website may use cookies. By using our Website and agreeing to these Terms, you consent to our use of cookies in accordance with our <a routerLink=\"/privacy\">privacy policy</a>.</p>\r\n    </section>\r\n    <section class=\"mt-4\">\r\n        <h1>2. Definitions</h1>\r\n        <ul>\r\n            <li>2.1 <strong>\"Services\"</strong> refers to any service provided by the Company through the Website as an authorised reseller of Totally247 Ltd.</li>\r\n            <li>2.2 <strong>\"User\"</strong> refers to any person or entity using the Website or Services.</li>\r\n        </ul>\r\n    </section>   \r\n    <section class=\"mt-4\">\r\n        <h1>3. Use of the Website</h1>\r\n        <ul>\r\n            <li>3.1 You must be at least 18 years of age to use our Website.</li>\r\n            <li>3.2 You must ensure that any information you provide to us through the Website is accurate, complete, and current.</li>\r\n            <li>3.3 You must not use our Website in any way that causes damage or impairment to its availability or accessibility.</li>\r\n        </ul>\r\n    </section>\r\n    <section class=\"mt-4\">\r\n        <h1>4. Services</h1>\r\n        <ul>\r\n            <li>4.1 {{resellerName}} will provide the Services with reasonable skill and care.</li>\r\n            <li>4.2 We reserve the right to refuse to provide Services to anyone for any reason at any time.</li>\r\n        </ul>\r\n    </section>\r\n    <section class=\"mt-4\">\r\n        <h1>5. Fees and Payment</h1>\r\n        <ul>\r\n            <li>5.1 The fees for our Services are as stated on the Website and are subject to change.</li>\r\n            <li>5.2 Payments must be made via the methods specified on the Website.</li>\r\n        </ul>\r\n    </section>\r\n    <section class=\"mt-4\">\r\n        <h1>6. Cancellation and Refunds</h1>\r\n        <p>6.1 You may cancel your order for Services in accordance with our cancellation policy, as detailed on the Website.</p>\r\n    </section>\r\n    <section class=\"mt-4\">\r\n        <h1>7. Intellectual Property</h1>\r\n        <p>7.1 All content on the Website, including text, graphics, logos, and software, is the property of {{resellerName}} or its licensors and is protected by copyright and intellectual property laws.</p>\r\n    </section>\r\n    <section class=\"mt-4\">\r\n        <h1>8. Limitations of Liability</h1>\r\n        <ul>\r\n            <li>8.1 We do not exclude liability for death or personal injury resulting from our negligence.</li>\r\n            <li>8.2 We will not be liable for any losses arising out of events beyond our reasonable control.</li>\r\n            <li>8.3 We will not be liable for business losses, including loss of profits, income, revenue, or goodwill.</li>\r\n        </ul>\r\n    </section>\r\n    <section class=\"mt-4\">\r\n        <h1>9. Privacy</h1>\r\n        <p>9.1 Our use of your personal information is governed by our <a routerLink=\"privacy\">privacy policy</a>.</p>\r\n    </section>\r\n    <section class=\"mt-4\">\r\n        <h1>10. Changes to the Terms</h1>\r\n        <p>10.1 We may revise these Terms from time to time. Please check this page regularly for updates.</p>\r\n    </section>\r\n    <section class=\"mt-4\">\r\n        <h1>11. Governing Law and Jurisdiction</h1>\r\n        <p>11.1 These Terms are governed by English law. Any disputes will be subject to the exclusive jurisdiction of the courts of England and Wales.</p>\r\n    </section>\r\n</div>","import { ChangeDetectionStrategy, Component } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Component({\r\n  selector: \"r247-marketing-screen\",\r\n  templateUrl: \"./marketing-screen.component.html\",\r\n  styleUrls: [\"./marketing-screen.component.scss\"],\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247MarketingScreenComponent {\r\n  constructor(protected router: Router) {}\r\n\r\n  goToRegister(selectedNumber) {\r\n    return this.router.navigateByUrl(\r\n      `/register/account?category=${selectedNumber.category}&prefix=${selectedNumber.prefix}&range=${selectedNumber.range}&number=${selectedNumber.number}`\r\n    );\r\n  }\r\n}\r\n","<div class=\"row p-0\">\r\n  <div class=\"col-12 p-0\">\r\n    <div class=\"marketing-section hero\">\r\n      <r247-marketing-header></r247-marketing-header>\r\n    </div>\r\n  </div>\r\n</div>\r\n<div class=\"row\">\r\n  <div class=\"col-12 p-0\">\r\n    <div class=\"marketing-section primary\">\r\n      <r247-marketing-highlights></r247-marketing-highlights>\r\n    </div>\r\n  </div>\r\n</div>\r\n<div class=\"row\">\r\n  <div class=\"col-12 p-0\">\r\n    <div class=\"marketing-section secondary\">\r\n      <r247-marketing-pricing></r247-marketing-pricing>\r\n    </div>\r\n  </div>\r\n</div>\r\n<div class=\"row\">\r\n  <div class=\"col-12 p-0\">\r\n    <div class=\"marketing-section secondary pb-12\">\r\n      <r247-marketing-register></r247-marketing-register>\r\n    </div>\r\n  </div>\r\n</div>\r\n<div class=\"row\">\r\n  <div class=\"col-12 p-0\">\r\n    <div class=\"marketing-section primary\">\r\n      <r247-faqs></r247-faqs>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"faqs\",\r\n  templateUrl: \"./faqs.component.html\",\r\n  styleUrls: [\"../../styles.marketing247.css\"],\r\n})\r\nexport class FaqsComponent {\r\n  showAnswerQuestion = false;\r\n  showChooseNumberQuestion = false;\r\n  showExistingPhoneNumberQuestion = false;\r\n  showMissedCallQuestion = false;\r\n  showReceptionistQuestion = false;\r\n  showRegistrationFeeQuestion = false;\r\n  showCancelQuestion = false;\r\n}\r\n","<section class=\"module_faq_Layout\">\r\n  <div class=\"module_faq_Layout_wrapper container flex\">\r\n    <h1>FAQs</h1>\r\n    <div class=\"card_wrapper flex\">\r\n      <div class=\"text_content center\">\r\n        <h2 class=\"question\" (click)=\"showAnswerQuestion = !showAnswerQuestion\" [ngClass]=\"{'is-active': showAnswerQuestion }\">Who will answer my calls?</h2>\r\n        <div *ngIf=\"showAnswerQuestion\" [ngStyle]=\"{'display: block;': showAnswerQuestion }\">\r\n          <p>Your dedicated receptionist sits within a small team of highly trained receptionists based in our Peterborough Call Centre. We are a solely UK based service, providing 24/7 reception services in your company name. The team are friendly and professional, ensuring your customers feel as if they are speaking to a member of your team.\r\n          </p>\r\n        </div>\r\n      </div>\r\n      <div class=\"text_content center\">\r\n        <h2 class=\"question\" (click)=\"showChooseNumberQuestion = !showChooseNumberQuestion\" [ngClass]=\"{'is-active': showChooseNumberQuestion }\">How do I choose a phone number and how does it work?</h2>\r\n        <div *ngIf=\"showChooseNumberQuestion\" [ngStyle]=\"{'display: block;': showChooseNumberQuestion }\">\r\n          <p>247Receptionist offers a choice of any UK dial code or non-geographical phone number which become your companies own phone number. You are free to publish this number as your main business number or as an additional number [for specific marketing purposes for example].</p>\r\n        </div>\r\n      </div>\r\n      <div class=\"text_content center\">\r\n        <h2 class=\"question\" (click)=\"showExistingPhoneNumberQuestion = !showExistingPhoneNumberQuestion\" [ngClass]=\"{'is-active': showExistingPhoneNumberQuestion }\">I already have a phone number that my customers use, what happens then?</h2>\r\n        <div *ngIf=\"showExistingPhoneNumberQuestion\" [ngStyle]=\"{'display: block;': showExistingPhoneNumberQuestion }\">\r\n          <p>Most clients divert their existing business number on overflow as a safety net to catch the calls they had been missing. This is highly effective in maximising opportunity and prevents wasted advertising budget. The speed of messaging puts you in front of your customer before they have had the time to call your competitors.</p>\r\n        </div>\r\n      </div>\r\n      <div class=\"text_content center\">\r\n        <h2 class=\"question\" (click)=\"showMissedCallQuestion = !showMissedCallQuestion\" [ngClass]=\"{'is-active': showMissedCallQuestion }\">How will I know that I have missed a call?</h2>\r\n        <div *ngIf=\"showMissedCallQuestion\" [ngStyle]=\"{'display: block;': showMissedCallQuestion }\">\r\n          <p>You can choose any combination of methods to receive and access message details. We send messages to you / your staff by text message, by email and via our online portal, where communication is stored permanently for retrieval at any time. The data includes the amount of time your receptionist has taken to represent your business on every call to aid reconciliation. All data are available for download.</p>\r\n        </div>\r\n      </div>\r\n      <div class=\"text_content center\">\r\n        <h2 class=\"question\" (click)=\"showReceptionistQuestion = !showReceptionistQuestion\" [ngClass]=\"{'is-active': showReceptionistQuestion }\">How will my receptionist know how to answer for you and what to say?</h2>\r\n        <div *ngIf=\"showReceptionistQuestion\" [ngStyle]=\"{'display: block;': showReceptionistQuestion }\">\r\n          <p>When your customer calls, your company screen will open for your receptionist. It contains all the information required to represent your business professionally. Your receptionist will use your customised greeting to answer your customer calls and will represent you professionally. Your customer will know they have reached your business and leave the caller confident that you will respond when you are able.</p>\r\n        </div>\r\n      </div>\r\n      <div class=\"text_content center\">\r\n        <h2 class=\"question\" (click)=\"showRegistrationFeeQuestion = !showRegistrationFeeQuestion\" [ngClass]=\"{'is-active': showRegistrationFeeQuestion }\">Is there a fee to sign up or register?</h2>\r\n        <div *ngIf=\"showRegistrationFeeQuestion\" [ngStyle]=\"{'display: block;': showRegistrationFeeQuestion }\">\r\n          <p>There are no sign up or registration fees. Simply pay the first month charge for your chosen number and purchase the credit you require.</p>\r\n        </div>\r\n      </div>\r\n      <div class=\"text_content center\">\r\n        <h2 class=\"question\" (click)=\"showCancelQuestion = !showCancelQuestion\" [ngClass]=\"{'is-active': showCancelQuestion }\">Am I tied in to a long contract. How do I cancel if I want?</h2>\r\n        <div *ngIf=\"showCancelQuestion\" [ngStyle]=\"{'display: block;': showCancelQuestion }\">\r\n          <p>Change in life and business circumstance is a constant. If for whatever reason the service is no longer required, simply cease to use it and not purchase any further credit, as there is no contract term to be tied in to. Your chosen phone number can be retained and used without use of the receptionist service, for as long as you require, by topping up credit for your phone number usage only.</p>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</section>\r\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"meet-the-team\",\r\n  templateUrl: \"./meet-the-team.component.html\",\r\n  styleUrls: [\"../../styles.marketing247.css\"],\r\n})\r\nexport class MeetTheTeamComponent {}\r\n","<section class=\"module_imageCard_Layout\">\r\n  <div class=\"module_imageCard_Layout_wrapper container--max flex\">\r\n    <h1>Meet the team</h1>\r\n    <div class=\"card_wrapper flex\">\r\n      <div class=\"text_content center\">\r\n        <div class=\"icon_background flex\"><img class=\"image\" src=\"/assets/marketing247/Blueshirt@2x.png\" alt=\"\">\r\n        </div>\r\n        <h2>Amber</h2>\r\n      </div>\r\n      <div class=\"text_content center\">\r\n        <div class=\"icon_background flex\"><img class=\"image\" src=\"/assets/marketing247/unnamed@2x.png\" alt=\"\"></div>\r\n        <h2>Donna</h2>\r\n      </div>\r\n      <div class=\"text_content center\">\r\n        <div class=\"icon_background flex\"><img class=\"image\" src=\"/assets/marketing247/Yellowshirt@2x.png\" alt=\"\">\r\n        </div>\r\n        <h2>Jessica</h2>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</section>\r\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"pricing\",\r\n  templateUrl: \"./pricing.component.html\",\r\n  styleUrls: [\"../../styles.marketing247.css\"],\r\n})\r\nexport class PricingComponent {}\r\n","<section class=\"module_singleText\">\r\n  <div class=\"module_singleText_wrapper container flex\">\r\n    <div class=\"text_side\">\r\n      <div class=\"header_div blue\">\r\n        <h1>Pricing</h1>\r\n        <h2><strong>The cost of your PA</strong></h2>\r\n        <h2>PA representation on your calls is charged at 2p per second*</h2>\r\n        <p>(Billed in 30 second increments)</p>\r\n        <h2>*Calls lasting under 10 seconds are not charged for.</h2>\r\n      </div>\r\n      <h2 style=\"text-align: center;\">You are minutes away from having your own receptionist.</h2>\r\n      <h2 style=\"text-align: center;\">Select your new unique number from the list below</h2>\r\n    </div>\r\n  </div>\r\n</section>\r\n<section class=\"module_text-table\">\r\n  <div class=\"module_text-table--inner flex\">\r\n    <h1>The Cost of your Number</h1>\r\n    <div class=\"charges\">\r\n      <h2>Monthly Charge</h2>\r\n      <div class=\"flex spaced\">\r\n        <p>Standard</p>\r\n        <p><span>£10.00</span></p>\r\n      </div>\r\n      <div class=\"flex spaced\">\r\n        <p>Silver</p>\r\n        <p><span>£12.50</span></p>\r\n      </div>\r\n      <div class=\"flex spaced\">\r\n        <p>Gold</p>\r\n        <p><span>£20.00</span></p>\r\n      </div>\r\n      <div class=\"flex spaced\">\r\n        <p>Platinum</p>\r\n        <p><span>£30.00</span></p>\r\n      </div>\r\n    </div>\r\n    <div class=\"details flex\">\r\n      <div class=\"prefix\">\r\n        <h2>Prefix</h2>\r\n        <p>01/02</p>\r\n        <p>03</p>\r\n        <p>08</p>\r\n      </div>\r\n      <div class=\"ppm\">\r\n        <h2>Pence Per Minute</h2>\r\n        <p>1.5ppm</p>\r\n        <p>1.0ppm</p>\r\n        <p>7.0ppm</p>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</section>\r\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"service-description\",\r\n  templateUrl: \"./service-description.component.html\",\r\n  styleUrls: [\"../../styles.marketing247.css\"],\r\n})\r\nexport class ServiceDescriptionComponent {}\r\n","<section class=\"module_hero\" style=\"background-image: url('/assets/marketing247/247R_banner_textless@2x.png')\">\r\n  <div class=\"module_hero_wrapper container flex\">\r\n    <h1>The right answer for your business</h1>\r\n  </div>\r\n</section>\r\n<section class=\"module_singleText\">\r\n  <div class=\"module_singleText_wrapper container flex\">\r\n    <div class=\"text_side\">\r\n      <div class=\"header_div\">\r\n        <h1>We answer your calls, on your behalf, in your company name<br />\r\n          <strong>24 hours a day, 7 days a week</strong>\r\n        </h1>\r\n      </div>\r\n      <ul>\r\n        <li style=\"text-align: left;\">Select your new, unique business number</li>\r\n        <li style=\"text-align: left;\">Choose from any dial code in the country, or take advantage of a\r\n          non-geographic or freephone number</li>\r\n        <li style=\"text-align: left;\">Advertise your new number as the main number for customers to call</li>\r\n        <li style=\"text-align: left;\">Divert an existing business number to your new number for your PA to\r\n          answer</li>\r\n        <li style=\"text-align: left;\">From start to live in 5 minutes</li>\r\n        <li style=\"text-align: left;\">Then, introduce yourself to the newest member of your team</li>\r\n      </ul>\r\n    </div>\r\n  </div>\r\n</section>\r\n<section class=\"module_singleText\">\r\n  <div class=\"module_singleText_wrapper container flex\">\r\n    <div class=\"text_side\">\r\n      <p>No contract term to tie you in,</p>\r\n      <p>Simply credit your account with your preferred amount and top the account up as you want.</p>\r\n      <p>If you wish, you can set up an ‘auto top up’ amount or monthly budget to make your life easier, to\r\n        ensure you never miss a call and therefore an opportunity to do business.</p>\r\n      <p>Your PA will send you a notification when your balance is running low</p>\r\n    </div>\r\n  </div>\r\n</section>\r\n","import {\r\n  Component,\r\n  ElementRef,\r\n  HostListener,\r\n  OnInit,\r\n  ViewChild,\r\n} from \"@angular/core\";\r\nimport { environment } from \"../../environments/environment\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Component({\r\n  selector: \"marketing-247\",\r\n  templateUrl: \"./marketing-247.component.html\",\r\n  styleUrls: [\"./styles.marketing247.css\"],\r\n})\r\nexport class Marketing247Component implements OnInit {\r\n  constructor(private router: Router) {}\r\n\r\n  showStickyHeader = false;\r\n  elementPosition: number = 0;\r\n\r\n  ngOnInit(): void {}\r\n\r\n  @ViewChild(\"scrollHeaderStartElm\") contentStart: ElementRef;\r\n\r\n  ngAfterViewInit() {\r\n    this.elementPosition = this.contentStart.nativeElement.offsetTop;\r\n  }\r\n\r\n  @HostListener(\"window:scroll\", [\"$event\"])\r\n  handleScroll() {\r\n    this.showStickyHeader = window.pageYOffset >= this.elementPosition;\r\n  }\r\n\r\n  goToRegister(selectedNumber: any) {\r\n    return this.router.navigateByUrl(\r\n      `/register/account?category=${selectedNumber.category}&prefix=${selectedNumber.prefix}&range=${selectedNumber.range}&number=${selectedNumber.number}`\r\n    );\r\n  }\r\n}\r\n","<div id=\"page\" class=\"site\">\r\n  <header id=\"masthead\" class=\"site-header\" [ngClass]=\"{'sticky': showStickyHeader }\">\r\n    <nav id=\"site-navigation\" class=\"main-navigation flex container\" [ngClass]=\"{'sticky': showStickyHeader }\">\r\n      <a href=\"/\" class=\"logo\">\r\n        <img class=\"scrollBanner\" [ngClass]=\"{'scroll-active': showStickyHeader }\" src=\"assets/marketing247/scrollBanner.png\" alt=\"247Receptionist Logo\">\r\n        <img class=\"normalBanner\" [ngClass]=\"{'scroll-active': showStickyHeader }\" src=\"assets/marketing247/logo.png\" alt=\"247Receptionist Logo\">\r\n      </a>\r\n      <div class=\"buttons\">\r\n        <a href=\"/register/number\">Sign Up</a>\r\n        <a href=\"/auth/login\">Log In</a>\r\n      </div>\r\n    </nav>\r\n  </header>\r\n  <div id=\"content\" class=\"site-content\" #scrollHeaderStartElm>\r\n    <div id=\"primary\" class=\"content-area\">\r\n      <main id=\"main\" class=\"site-main\">\r\n          <service-description></service-description>\r\n          <meet-the-team></meet-the-team>\r\n          <pricing></pricing>\r\n          <section class=\"module_faq_Layout\">\r\n            <div class=\"module_faq_Layout_wrapper container flex\">\r\n              <r247-number-chooser (numberConfirmed)=\"goToRegister($event)\"></r247-number-chooser>\r\n            </div>\r\n          </section> \r\n          <faqs></faqs>\r\n      </main>\r\n    </div>\r\n  </div>\r\n  <footer id=\"colophon\" class=\"site-footer\">\r\n    <div class=\"footer container flex\">\r\n      <div class=\"privacy_wrapper flex\">\r\n        <p>totally247 Ltd. A company registered in England & Wales.</p>\r\n        <p class=\"spacer\">|</p>\r\n        <p>Company number: 05830907</p>\r\n        <p class=\"spacer\">|</p>\r\n        <a href=\"/\">Terms & Conditions</a>\r\n        <p class=\"spacer\">|</p>\r\n        <a href=\"/\">Contact Us</a>\r\n      </div>\r\n    </div>\r\n  </footer>\r\n</div>\r\n","import { NgModule, ModuleWithProviders } from \"@angular/core\";\r\nimport { PricingComponent } from \"./components/pricing/pricing.component\";\r\nimport { FaqsComponent } from \"./components/faqs/faqs.component\";\r\nimport { MeetTheTeamComponent } from \"./components/meet-the-team/meet-the-team.component\";\r\nimport { ServiceDescriptionComponent } from \"./components/service-description/service-description.component\";\r\nimport { Marketing247Component } from \"./marketing-247.component\";\r\nimport { RegistrationModule } from \"../registration/registration.module\";\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nconst COMPONENTS = [\r\n  Marketing247Component,\r\n  FaqsComponent,\r\n  PricingComponent,\r\n  MeetTheTeamComponent,\r\n  ServiceDescriptionComponent,\r\n];\r\n\r\n@NgModule({\r\n  declarations: [...COMPONENTS],\r\n  imports: [CommonModule, RegistrationModule, NgbModule],\r\n  exports: [Marketing247Component],\r\n  providers: [],\r\n})\r\nexport class Marketing247Module {\r\n  static forRoot(): ModuleWithProviders<Marketing247Module> {\r\n    return {\r\n      ngModule: Marketing247Module,\r\n      providers: [],\r\n    };\r\n  }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { MODE_UNKNOWN, getMode } from \"./mode-determinent\";\r\n\r\n@Component({\r\n  selector: \"r247-mode-checker\",\r\n  templateUrl: \"./mode-checker.comonent.html\",\r\n})\r\nexport class ModeCheckerComponent implements OnInit {\r\n  constructor() {}\r\n\r\n  mode = MODE_UNKNOWN;\r\n\r\n  ngOnInit(): void {\r\n    this.mode = getMode();\r\n  }\r\n}\r\n","<r247-nav-bar></r247-nav-bar>\r\n<div class=\"row mt-5\">\r\n    <div class=\"col-12 text-center\"><h1>Application is currently running in <strong>{{mode}}</strong> mode.</h1></div>\r\n</div>\r\n","export function getMode(): string {\r\n  if (window.location.hostname.endsWith(\"staging.callcentre.services\"))\r\n    return MODE_STAGING;\r\n  else if (window.location.hostname.endsWith(\"demo.callcentre.services\"))\r\n    return MODE_DEMO;\r\n  else if (window.location.hostname.endsWith(\"callcentre.services\"))\r\n    return MODE_LIVE;\r\n  else return MODE_UNKNOWN;\r\n}\r\n\r\nexport const MODE_DEVELOPMENT = \"development\";\r\nexport const MODE_STAGING = \"staging\";\r\nexport const MODE_DEMO = \"demo\";\r\nexport const MODE_PRE_PRODUCTION = \"pre-production\";\r\nexport const MODE_LIVE = \"live\";\r\nexport const MODE_UNKNOWN = \"unknown\";\r\n","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  Input,\r\n  OnChanges,\r\n  OnInit,\r\n  Output,\r\n  SimpleChanges,\r\n  EventEmitter,\r\n} from \"@angular/core\";\r\nimport { PricingService } from \"../../../@core/backend/receptionist/services/pricing-service\";\r\nimport { LOW_BALANCE_THRESHOLD } from \"../../../@core/interfaces/receptionist/payment\";\r\n\r\n@Component({\r\n  selector: \"r247-cost-breakdown\",\r\n  templateUrl: \"./cost-breakdown.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247CostBreakdownComponent implements OnInit, OnChanges {\r\n  constructor(private pricing: PricingService) {}\r\n\r\n  @Input() showFooter = false;\r\n  @Input() footerButtonCaption = \"Reserve My Phone Number\";\r\n\r\n  showTextCharges = false;\r\n\r\n  @Input() category = \"\";\r\n  @Input() prefix = \"\";\r\n  @Input() contacts = [];\r\n\r\n  @Output() footerButtonClick = new EventEmitter();\r\n\r\n  callCharge = \"0p per minute\";\r\n  receptionistCharge = \"0p per second\";\r\n  serviceCharge = \"£0 per month\";\r\n  serviceChargeThisMonth = \"£0 this month (deducted today)\";\r\n\r\n  lowBalanceThreshold = LOW_BALANCE_THRESHOLD;\r\n\r\n  ngOnInit(): void {\r\n    this.updateCallPricing();\r\n\r\n    this.showTextCharges = this.contacts.filter((x) => x.sendSms).length >= 1;\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    this.updateCallPricing();\r\n  }\r\n\r\n  updateCallPricing(): void {\r\n    this.pricing\r\n      .getPricing(this.prefix, this.category)\r\n      .subscribe((response) => {\r\n        this.callCharge = response.callCost;\r\n        this.receptionistCharge = response.receptionistCost;\r\n        this.serviceCharge = response.serviceCharge;\r\n        this.serviceChargeThisMonth = response.serviceChargeThisMonth;\r\n      });\r\n  }\r\n\r\n  onFooterButtonClick(): void {\r\n    this.footerButtonClick.emit();\r\n  }\r\n}\r\n","<div class=\"card\">\r\n    <div class=\"card-header\">\r\n        Cost Breakdown\r\n    </div>\r\n    <div class=\"card-body\">\r\n        <div class=\"row mb-3\">\r\n            <div class=\"col-12\">\r\n                The charges for a <strong>{{category}}</strong> number with a <strong>{{prefix}}</strong> prefix are:\r\n            </div>\r\n        </div>\r\n        <div class=\"row mb-1\">\r\n            <div class=\"col-xs-12 col-md-6\">\r\n                <div class=\"row\">\r\n                    <div class=\"col-xs-6 col-md-4\">\r\n                        <label>Call Charge</label>\r\n                    </div>\r\n                    <div class=\"col-6\">\r\n                        <label>{{callCharge}}</label>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n        <div class=\"row mb-1\">\r\n            <div class=\"col-xs-12 col-md-6\">\r\n                <div class=\"row\">\r\n                    <div class=\"col-xs-6 col-md-4\">\r\n                        <label>Receptionist Charge</label>\r\n                    </div>\r\n                    <div class=\"col-6\">\r\n                        <label>{{receptionistCharge}}</label>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n        <div class=\"row mb-1\">\r\n            <div class=\"col-xs-12 col-md-6\">\r\n                <div class=\"row\">\r\n                    <div class=\"col-xs-6 col-md-4\">\r\n                        <label>Full Number Rental Charge</label>\r\n                    </div>\r\n                    <div class=\"col-6\">\r\n                        <label>{{serviceCharge}} <small>(deducted on the 1st of every month)</small></label>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n        <div class=\"row mb-1\">\r\n            <div class=\"col-xs-12 col-md-6\">\r\n                <div class=\"row\">\r\n                    <div class=\"col-xs-6 col-md-4\">\r\n                        <label>Pro-rata Number Rental This Month</label>\r\n                    </div>\r\n                    <div class=\"col-6\">\r\n                        <label>{{serviceChargeThisMonth}} <small>(deducted today)</small></label>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n        <div class=\"row mt-1\">\r\n            <div class=\"col-12\">\r\n                Charges are deducted from your account balance, which can be topped up within the app. You can\r\n                also enable an auto top up to automatically top up your account when your balance falls below £{{lowBalanceThreshold}}.\r\n            </div>\r\n        </div>\r\n        <div class=\"row mt-1\">\r\n            <div class=\"col-12\">\r\n                <div class=\"alert alert-info mb-0\">\r\n                    <div>* Calls are billed in 30 second increments. Calls under 10 seconds are not charged for.</div>\r\n                    <div *ngIf=\"showTextCharges\">* Text messages are charged at 10p per text.</div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <div *ngIf=\"showFooter\" class=\"card-footer\">\r\n        <button class=\"btn btn-primary float-right\" (click)=\"onFooterButtonClick()\" nbButton>{{footerButtonCaption}}</button>\r\n    </div>\r\n</div>","export * from './stepper-buttons/stepper-buttons.component';\r\nexport * from './number-chooser/number-chooser.component';","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  Input,\r\n  Output,\r\n  EventEmitter,\r\n  OnInit,\r\n} from \"@angular/core\";\r\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@Component({\r\n  selector: \"r247-area-search-modal\",\r\n  templateUrl: \"./area-search-modal.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247AreaSearchModalComponent implements OnInit {\r\n  constructor(public activeModal: NgbActiveModal) {}\r\n\r\n  @Input() prefix = \"\";\r\n  prefixSearch = this.prefix?.toLowerCase();\r\n\r\n  @Output() areaSelected = new EventEmitter();\r\n\r\n  @Input() prefixes: any[] = [];\r\n  filteredPrefixes: any[] = this.prefixes;\r\n\r\n  @Input() searchingPrefixes = true;\r\n\r\n  ngOnInit(): void {\r\n    this.filteredPrefixes = this.prefixes;\r\n  }\r\n\r\n  searchPrefixes() {\r\n    var term = this.prefixSearch.toLowerCase();\r\n    this.filteredPrefixes =\r\n      term.length <= 0\r\n        ? this.prefixes\r\n        : this.prefixes.filter(\r\n            (x) =>\r\n              x.code.toLowerCase().startsWith(term) ||\r\n              x.area.toLowerCase().startsWith(term)\r\n          );\r\n  }\r\n}\r\n","<div class=\"modal-header\">\r\n    <h4 class=\"modal-title mb-0\">Choose Your Area</h4>\r\n    <button type=\"button\" class=\"close\" aria-label=\"Close\" (click)=\"activeModal.dismiss('Cross click')\">\r\n      <span aria-hidden=\"true\">&times;</span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body p-0\">\r\n    <input type=\"text\" class=\"list-group-item form-control\" placeholder=\"Type to find an area by code or name...\" [(ngModel)]=\"prefixSearch\" (ngModelChange)=\"searchPrefixes()\" />\r\n    <h1 class=\"text-center\" *ngIf=\"!filteredPrefixes ||(filteredPrefixes && filteredPrefixes.length === 0)\">No Areas Found</h1>\r\n      <div *ngIf=\"filteredPrefixes?.length > 0\" class=\"list-group list-group-flush numbers-list\">\r\n        <button type=\"button\" (click)=\"activeModal.close(prefix)\" class=\"list-group-item list-group-item-action\" *ngFor=\"let prefix of filteredPrefixes\">{{prefix.description}}</button>\r\n      </div>\r\n  </div>","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  Input,\r\n  Output,\r\n  EventEmitter,\r\n  OnInit,\r\n} from \"@angular/core\";\r\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@Component({\r\n  selector: \"r247-categories-modal\",\r\n  templateUrl: \"./categories-modal.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247CategoriesModalComponent implements OnInit {\r\n  constructor(public activeModal: NgbActiveModal) {}\r\n\r\n  @Input() category = \"\";\r\n  categorySearch = this.category?.toLowerCase();\r\n\r\n  @Output() categorySelected = new EventEmitter();\r\n\r\n  @Input() categories: any[] = [];\r\n  filteredCategories: any[] = this.categories;\r\n\r\n  @Input() searchingCategories = true;\r\n\r\n  ngOnInit(): void {\r\n    this.filteredCategories = this.categories;\r\n  }\r\n\r\n  searchCategories() {\r\n    var term = this.categorySearch.toLowerCase();\r\n    this.filteredCategories =\r\n      term.length <= 0\r\n        ? this.categories\r\n        : this.categories.filter((x) => x.startsWith(term));\r\n  }\r\n}\r\n","<div class=\"modal-header\">\r\n    <h4 class=\"modal-title mb-0\">Choose Your Category</h4>\r\n    <button type=\"button\" class=\"close\" aria-label=\"Close\" (click)=\"activeModal.dismiss('Cross click')\">\r\n      <span aria-hidden=\"true\">&times;</span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body p-0\">\r\n    <input type=\"text\" class=\"list-group-item form-control\" placeholder=\"Type to find a category...\" [(ngModel)]=\"categorySearch\" (ngModelChange)=\"searchCategories()\" />\r\n    <h1 class=\"text-center\" *ngIf=\"!filteredCategories ||(filteredCategories && filteredCategories.length === 0)\">No Categories Found</h1>\r\n      <div *ngIf=\"filteredCategories?.length > 0\" class=\"list-group list-group-flush numbers-list\">\r\n        <button type=\"button\" (click)=\"activeModal.close(category)\" class=\"list-group-item list-group-item-action\" *ngFor=\"let category of filteredCategories\">{{category}}</button>\r\n      </div>\r\n  </div>","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  Output,\r\n} from \"@angular/core\";\r\nimport { numbersTemplate } from \"./number-list-card/numbers-list-template\";\r\n\r\n@Component({\r\n  selector: \"r247-desktop-number-chooser\",\r\n  templateUrl: \"./desktop-number-chooser.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247DesktopNumberChooserComponent {\r\n  constructor() {}\r\n\r\n  @Input() localNumbers = [];\r\n  @Input() nationalNumbers = [];\r\n  @Input() freephoneNumbers = [];\r\n\r\n  @Input() selectedLocalCategory = numbersTemplate.localCategories[0];\r\n  @Input() selectedNationalCategory = numbersTemplate.nationalCategories[0];\r\n  @Input() selectedFreephoneCategory = numbersTemplate.freephoneCategories[0];\r\n\r\n  @Output() numberConfirmed = new EventEmitter();\r\n  @Output() localNumbersSearched = new EventEmitter<any>();\r\n  @Output() nationalNumbersSearched = new EventEmitter<any>();\r\n  @Output() freephoneNumbersSearched = new EventEmitter<any>();\r\n\r\n  get isNumberChosen() {\r\n    return this.selectedVirtualNumber != \"\";\r\n  }\r\n\r\n  category = \"\";\r\n  selectedVirtualNumber = \"\";\r\n  prefix = \"\";\r\n  range = \"\";\r\n  number = \"\";\r\n  numbersTemplate = numbersTemplate;\r\n\r\n  selectedLocalPrefix = numbersTemplate.defaultLocalPrefix;\r\n  selectedNationalPrefix = numbersTemplate.defaultNationalPrefix;\r\n  selectedFreephonePrefix = numbersTemplate.defaultFreephonePrefix;\r\n\r\n  LOCAL_NUMBERS = 0;\r\n  NATIONAL_NUMBERS = 1;\r\n  FREEPHONE_NUMBERS = 2;\r\n\r\n  numberType = this.LOCAL_NUMBERS;\r\n\r\n  @Input() searchingLocalNumbers = true;\r\n  @Input() searchingNationalNumbers = true;\r\n  @Input() searchingFreephoneNumbers = true;\r\n\r\n  setNumberValues(numberArgs) {\r\n    this.setSelectedValues(numberArgs);\r\n\r\n    this.category = numberArgs.category;\r\n    this.selectedVirtualNumber = `${numberArgs.prefix} ${numberArgs.range} ${numberArgs.number}`;\r\n\r\n    this.prefix = numberArgs.prefix;\r\n    this.range = numberArgs.range;\r\n    this.number = numberArgs.number;\r\n  }\r\n\r\n  setSelectedValues(numberArgs) {\r\n    switch (this.numberType) {\r\n      case this.LOCAL_NUMBERS:\r\n        this.selectedLocalPrefix = numberArgs.prefix;\r\n        this.selectedLocalCategory = numberArgs.category;\r\n        break;\r\n      case this.NATIONAL_NUMBERS:\r\n        this.selectedNationalPrefix = numberArgs.prefix;\r\n        this.selectedNationalCategory = numberArgs.category;\r\n        break;\r\n      case this.FREEPHONE_NUMBERS:\r\n        this.selectedFreephonePrefix = numberArgs.prefix;\r\n        this.selectedFreephoneCategory = numberArgs.category;\r\n        break;\r\n    }\r\n  }\r\n\r\n  onNumberConfirmClick() {\r\n    this.numberConfirmed.emit({\r\n      category: this.category,\r\n      prefix: this.prefix,\r\n      range: this.range,\r\n      number: this.number,\r\n    });\r\n  }\r\n}\r\n","  <div class=\"d-none d-md-block\">\r\n    <div class=\"row mb-1\">\r\n      <div class=\"col-xs-12 col-md-6 text-center text-md-right\">\r\n        <h3 class=\"d-none d-md-block\">Your Chosen Number</h3>\r\n      </div>\r\n      <div class=\"col-xs-12 col-md-6 text-center text-md-left\">\r\n        <h3 *ngIf=\"isNumberChosen\" class=\"d-none d-md-block\">{{selectedVirtualNumber}}</h3>\r\n        <h3 *ngIf=\"!isNumberChosen\" class=\"d-none d-md-block\" style=\"color: rgb(156 163 175);\"><em>Choose Your Number Below</em></h3>\r\n      </div>\r\n    </div>\r\n    <div class=\"row\">\r\n      <div class=\"phone-number-selection-card col-xs-12 col-md-4\">\r\n        <div class=\"card number-card\">\r\n          <div class=\"card-header text-center\">\r\n            Local Numbers\r\n          </div>\r\n          <r247-number-list-card \r\n            [searchingNumbers]=\"searchingLocalNumbers\" \r\n            [prefixes]=\"numbersTemplate.localPrefixes\"\r\n            [prefix]=\"numbersTemplate.defaultLocalPrefix\"\r\n            [categories]=\"numbersTemplate.localCategories\" \r\n            [numbers]=\"localNumbers\"\r\n            (numbersSearched)=\"localNumbersSearched.emit($event)\"\r\n            (numberSelected)=\"setNumberValues($event)\"\r\n            [selectedNumber]=\"selectedVirtualNumber\">\r\n          </r247-number-list-card>\r\n        </div>\r\n      </div>\r\n      <div class=\"phone-number-selection-card col-xs-12 col-md-4\">\r\n        <div class=\"card number-card\">\r\n          <div class=\"card-header text-center\">\r\n            Non Geographic Numbers\r\n          </div>\r\n          <r247-number-list-card \r\n            [searchingNumbers]=\"searchingNationalNumbers\"\r\n            [prefixes]=\"numbersTemplate.nationalPrefixes\"\r\n            [prefix]=\"numbersTemplate.defaultNationalPrefix\" \r\n            [categories]=\"numbersTemplate.nationalCategories\"\r\n            [numbers]=\"nationalNumbers\" \r\n            (numbersSearched)=\"nationalNumbersSearched.emit($event)\"\r\n            (numberSelected)=\"setNumberValues($event)\"\r\n            [selectedNumber]=\"selectedVirtualNumber\">\r\n          </r247-number-list-card>\r\n        </div>\r\n      </div>\r\n      <div class=\"phone-number-selection-card col-xs-12 col-md-4\">\r\n        <div class=\"card number-card\">\r\n          <div class=\"card-header text-center\">\r\n            Freephone Numbers\r\n          </div>\r\n          <r247-number-list-card \r\n            [searchingNumbers]=\"searchingFreephoneNumbers\"\r\n            [prefixes]=\"numbersTemplate.freephonePrefixes\"\r\n            [prefix]=\"numbersTemplate.defaultFreephonePrefix\" \r\n            [categories]=\"numbersTemplate.freephoneCategories\"\r\n            [numbers]=\"freephoneNumbers\" \r\n            (numbersSearched)=\"freephoneNumbersSearched.emit($event)\"\r\n            (numberSelected)=\"setNumberValues($event)\"\r\n            [selectedNumber]=\"selectedVirtualNumber\">\r\n          </r247-number-list-card>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"row mt-3\">\r\n      <div class=\"col-xs-12 col-sm-12 col-md-10 offset-md-1\">\r\n        <button class=\"btn btn-block btn-primary\" [attr.disabled]=\"isNumberChosen ? null : true\" (click)=\"onNumberConfirmClick()\">Reserve My Phone Number</button>\r\n      </div>\r\n    </div>\r\n  </div>","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnChanges,\r\n  Output,\r\n  SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { numbersTemplate } from \"./number-list-card/numbers-list-template\";\r\n\r\n@Component({\r\n  selector: \"r247-mobile-number-chooser\",\r\n  templateUrl: \"./mobile-number-chooser.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247MobileNumberChooserComponent implements OnChanges {\r\n  constructor() {}\r\n\r\n  @Input() chooseNumberCaption = \"Choose Your Number\";\r\n  @Input() numberChosenCaption = \"Your Chosen Number\";\r\n  @Input() reserveNumberCaption = \"Reserve My Phone Number\";\r\n\r\n  private _allLocalNumbers = [];\r\n  private _localNumbersToDisplay = [];\r\n\r\n  get localNumberCount() {\r\n    return this._allLocalNumbers.length;\r\n  }\r\n  get nationalNumberCount() {\r\n    return this._allNationalNumbers.length;\r\n  }\r\n  get freephoneNumberCount() {\r\n    return this._allFreephoneNumbers.length;\r\n  }\r\n\r\n  @Input()\r\n  get localNumbers() {\r\n    return this._localNumbersToDisplay;\r\n  }\r\n  set localNumbers(numbers: any[]) {\r\n    this._allLocalNumbers = numbers;\r\n    this._localNumbersToDisplay = [...numbers].splice(0, 5);\r\n  }\r\n\r\n  private _allNationalNumbers = [];\r\n  private _nationalNumbersToDisplay = [];\r\n\r\n  @Input()\r\n  get nationalNumbers() {\r\n    return this._nationalNumbersToDisplay;\r\n  }\r\n  set nationalNumbers(numbers: any[]) {\r\n    this._allNationalNumbers = numbers;\r\n    this._nationalNumbersToDisplay = [...numbers].splice(0, 5);\r\n  }\r\n\r\n  private _allFreephoneNumbers = [];\r\n  private _freephoneNumbersToDisplay = [];\r\n\r\n  @Input()\r\n  get freephoneNumbers() {\r\n    return this._freephoneNumbersToDisplay;\r\n  }\r\n  set freephoneNumbers(numbers: any[]) {\r\n    this._allFreephoneNumbers = numbers;\r\n    this._freephoneNumbersToDisplay = numbers.splice(0, 5);\r\n  }\r\n\r\n  @Input() selectedLocalCategory = numbersTemplate.localCategories[0];\r\n  @Input() selectedNationalCategory = numbersTemplate.nationalCategories[0];\r\n  @Input() selectedFreephoneCategory = numbersTemplate.freephoneCategories[0];\r\n\r\n  @Output() numberConfirmed = new EventEmitter();\r\n  @Output() localNumbersSearched = new EventEmitter<any>();\r\n  @Output() nationalNumbersSearched = new EventEmitter<any>();\r\n  @Output() freephoneNumbersSearched = new EventEmitter<any>();\r\n\r\n  LOCAL_NUMBERS_ACCORDIAN_PANEL_ID = \"local-numbers-accordian-panel\";\r\n  NATIONAL_NUMBERS_ACCORDIAN_PANEL_ID = \"national-numbers-accordian-panel\";\r\n  FREEPHONE_NUMBERS_ACCORDIAN_PANEL_ID = \"freephone-numbers-accordian-panel\";\r\n\r\n  get isNumberChosen() {\r\n    return this.selectedVirtualNumber != \"\";\r\n  }\r\n\r\n  category = \"\";\r\n  selectedVirtualNumber = \"\";\r\n  prefix = \"\";\r\n  range = \"\";\r\n  number = \"\";\r\n  numbersTemplate = numbersTemplate;\r\n\r\n  selectedLocalPrefix = numbersTemplate.defaultLocalPrefix;\r\n  selectedNationalPrefix = numbersTemplate.defaultNationalPrefix;\r\n  selectedFreephonePrefix = numbersTemplate.defaultFreephonePrefix;\r\n\r\n  LOCAL_NUMBERS = 0;\r\n  NATIONAL_NUMBERS = 1;\r\n  FREEPHONE_NUMBERS = 2;\r\n\r\n  numberType = this.LOCAL_NUMBERS;\r\n\r\n  @Input() searchingLocalNumbers = true;\r\n  @Input() searchingNationalNumbers = true;\r\n  @Input() searchingFreephoneNumbers = true;\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {}\r\n\r\n  setNumberValues(numberArgs) {\r\n    this.setSelectedValues(numberArgs);\r\n\r\n    this.category = numberArgs.category;\r\n    this.selectedVirtualNumber = `${numberArgs.prefix} ${numberArgs.range} ${numberArgs.number}`;\r\n\r\n    this.prefix = numberArgs.prefix;\r\n    this.range = numberArgs.range;\r\n    this.number = numberArgs.number;\r\n  }\r\n\r\n  setSelectedValues(numberArgs) {\r\n    switch (this.numberType) {\r\n      case this.LOCAL_NUMBERS:\r\n        this.selectedLocalPrefix = numberArgs.prefix;\r\n        this.selectedLocalCategory = numberArgs.category;\r\n        break;\r\n      case this.NATIONAL_NUMBERS:\r\n        this.selectedNationalPrefix = numberArgs.prefix;\r\n        this.selectedNationalCategory = numberArgs.category;\r\n        break;\r\n      case this.FREEPHONE_NUMBERS:\r\n        this.selectedFreephonePrefix = numberArgs.prefix;\r\n        this.selectedFreephoneCategory = numberArgs.category;\r\n        break;\r\n    }\r\n  }\r\n\r\n  previousLocalNumbersPage(pageNumber) {\r\n    this._localNumbersToDisplay = [...this._allLocalNumbers].splice(\r\n      pageNumber * 5 - 10,\r\n      5\r\n    );\r\n  }\r\n\r\n  nextLocalNumbersPage(pageNumber) {\r\n    this._localNumbersToDisplay = [...this._allLocalNumbers].splice(\r\n      pageNumber * 5,\r\n      5\r\n    );\r\n  }\r\n\r\n  previousNationalNumbersPage(pageNumber) {\r\n    this._nationalNumbersToDisplay = [...this._allNationalNumbers].splice(\r\n      pageNumber * 5 - 10,\r\n      5\r\n    );\r\n  }\r\n\r\n  nextNationalNumbersPage(pageNumber) {\r\n    this._nationalNumbersToDisplay = [...this._allNationalNumbers].splice(\r\n      pageNumber * 5,\r\n      5\r\n    );\r\n  }\r\n\r\n  previousFreephoneNumbersPage(pageNumber) {\r\n    this._freephoneNumbersToDisplay = [...this._allFreephoneNumbers].splice(\r\n      pageNumber * 5 - 10,\r\n      5\r\n    );\r\n  }\r\n\r\n  nextFreephoneNumbersPage(pageNumber) {\r\n    this._freephoneNumbersToDisplay = [...this._allFreephoneNumbers].splice(\r\n      pageNumber * 5,\r\n      5\r\n    );\r\n  }\r\n\r\n  onNumberConfirmClick() {\r\n    this.numberConfirmed.emit({\r\n      category: this.category,\r\n      prefix: this.prefix,\r\n      range: this.range,\r\n      number: this.number,\r\n    });\r\n  }\r\n}\r\n","<div class=\"d-block d-md-none\">\r\n    <div>\r\n    <div class=\"my-2\">\r\n      <div class=\"d-flex justify-content-around\">\r\n        <button type=\"button\" class=\"btn\" [ngClass]=\"{'btn-primary': numberType === LOCAL_NUMBERS }\" (click)=\"numberType = LOCAL_NUMBERS\">Local</button>\r\n        <button type=\"button\" class=\"btn\" [ngClass]=\"{'btn-primary': numberType === NATIONAL_NUMBERS }\" (click)=\"numberType = NATIONAL_NUMBERS\">National</button>\r\n        <button type=\"button\" class=\"btn\" [ngClass]=\"{'btn-primary': numberType === FREEPHONE_NUMBERS }\" (click)=\"numberType = FREEPHONE_NUMBERS\">Freephone</button>\r\n      </div>\r\n    </div>\r\n    <div *ngIf=\"numberType === LOCAL_NUMBERS\">\r\n      <r247-number-search\r\n      [searchingNumbers]=\"searchingLocalNumbers\"\r\n      [prefixes]=\"numbersTemplate.localPrefixes\"\r\n      [prefix]=\"selectedLocalPrefix\"\r\n      [categories]=\"numbersTemplate.localCategories\" \r\n      [category]=\"selectedLocalCategory\"\r\n      [numbers]=\"localNumbers\"\r\n      [totalNumbers]=\"localNumberCount\"\r\n      (previousPage)=\"previousLocalNumbersPage($event)\" \r\n      (nextPage)=\"nextLocalNumbersPage($event)\"\r\n      (numbersSearched)=\"localNumbersSearched.emit($event)\"\r\n      (numberSelected)=\"setNumberValues($event)\"\r\n      [selectedNumber]=\"selectedVirtualNumber\">\r\n      </r247-number-search>\r\n    </div>\r\n    <div *ngIf=\"numberType === NATIONAL_NUMBERS\">\r\n      <r247-number-search\r\n      [searchingNumbers]=\"searchingNationalNumbers\"\r\n      [prefixes]=\"numbersTemplate.nationalPrefixes\"\r\n      [prefix]=\"selectedNationalPrefix\" \r\n      [categories]=\"numbersTemplate.nationalCategories\"\r\n      [category]=\"selectedNationalCategory\"\r\n      [numbers]=\"nationalNumbers\" \r\n      [totalNumbers]=\"nationalNumberCount\"\r\n      (previousPage)=\"previousNationalNumbersPage($event)\" \r\n      (nextPage)=\"nextNationalNumbersPage($event)\"\r\n      (numbersSearched)=\"nationalNumbersSearched.emit($event)\"\r\n      (numberSelected)=\"setNumberValues($event)\"\r\n      [selectedNumber]=\"selectedVirtualNumber\">\r\n      </r247-number-search>\r\n    </div>\r\n    <div *ngIf=\"numberType === FREEPHONE_NUMBERS\">\r\n      <r247-number-search\r\n        [searchingNumbers]=\"searchingFreephoneNumbers\"\r\n        [prefixes]=\"numbersTemplate.freephonePrefixes\"\r\n        [prefix]=\"selectedFreephonePrefix\" \r\n        [categories]=\"numbersTemplate.freephoneCategories\"\r\n        [category]=\"selectedFreephoneCategory\"\r\n        [numbers]=\"freephoneNumbers\"\r\n        [totalNumbers]=\"freephoneNumberCount\"\r\n        (previousPage)=\"previousFreephoneNumbersPage($event)\" \r\n        (nextPage)=\"nextFreephoneNumbersPage($event)\"\r\n        (numbersSearched)=\"freephoneNumbersSearched.emit($event)\"\r\n        (numberSelected)=\"setNumberValues($event)\"\r\n        [selectedNumber]=\"selectedVirtualNumber\">\r\n      </r247-number-search>\r\n    </div>\r\n  </div>\r\n    <div *ngIf=\"isNumberChosen\" class=\"row my-1\">\r\n      <div class=\"my-1 col-xs-12 col-md-6 text-center text-md-right\">\r\n        <h5 class=\"d-block d-md-none\">{{numberChosenCaption}}</h5>\r\n      </div>\r\n      <div class=\"my-1 col-xs-12 col-md-6 text-center text-md-left\">\r\n        <h5 class=\"d-block d-md-none\">{{selectedVirtualNumber}}</h5>\r\n      </div>\r\n    </div>\r\n    <div class=\"col-xs-12 col-md-6 text-center text-md-left\">\r\n        <button class=\"my-3 btn btn-block btn-primary\" [attr.disabled]=\"isNumberChosen ? null : true\" (click)=\"onNumberConfirmClick()\">Reserve My Phone Number</button>\r\n      </div>\r\n  </div>","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n} from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { PhoneNumbersService } from \"../../../@core/backend/receptionist/services/phone-number.service\";\r\nimport { numbersTemplate } from \"./number-list-card/numbers-list-template\";\r\n\r\n@Component({\r\n  selector: \"r247-number-chooser\",\r\n  templateUrl: \"./number-chooser.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247NumberChooserComponent implements OnInit {\r\n  constructor(private phoneNumberService: PhoneNumbersService) {}\r\n\r\n  @Output() numberConfirmed = new EventEmitter();\r\n\r\n  get isNumberChosen() {\r\n    return this.selectedVirtualNumber != \"\";\r\n  }\r\n\r\n  category = \"\";\r\n  selectedVirtualNumber = \"\";\r\n  prefix = \"\";\r\n  range = \"\";\r\n  number = \"\";\r\n  numbersTemplate = numbersTemplate;\r\n\r\n  selectedLocalPrefix = numbersTemplate.defaultLocalPrefix;\r\n  selectedNationalPrefix = numbersTemplate.defaultNationalPrefix;\r\n  selectedFreephonePrefix = numbersTemplate.defaultFreephonePrefix;\r\n\r\n  selectedLocalCategory = numbersTemplate.localCategories[0];\r\n  selectedNationalCategory = numbersTemplate.nationalCategories[0];\r\n  selectedFreephoneCategory = numbersTemplate.freephoneCategories[0];\r\n\r\n  LOCAL_NUMBERS = 0;\r\n  NATIONAL_NUMBERS = 1;\r\n  FREEPHONE_NUMBERS = 2;\r\n\r\n  numberType = this.LOCAL_NUMBERS;\r\n\r\n  localNumbers = [];\r\n  nationalNumbers = [];\r\n  nationalNumbers1 = [];\r\n  freephoneNumbers = [];\r\n\r\n  searchingLocalNumbers = true;\r\n  searchingNationalNumbers = true;\r\n  searchingFreephoneNumbers = true;\r\n\r\n  ngOnInit(): void {\r\n    this.getLocalNumbers(this.selectedLocalPrefix, this.selectedLocalCategory);\r\n\r\n    this.getNationalNumbers(\r\n      this.selectedNationalPrefix,\r\n      this.selectedNationalCategory\r\n    );\r\n\r\n    this.getFreephoneNumbers(\r\n      this.selectedFreephonePrefix,\r\n      this.selectedFreephoneCategory\r\n    );\r\n  }\r\n\r\n  onLocalNumbersSearched(numberArgs) {\r\n    this.getLocalNumbers(numberArgs.prefix, numberArgs.category);\r\n  }\r\n\r\n  onNationalNumbersSearched(numberArgs) {\r\n    this.getNationalNumbers(numberArgs.prefix, numberArgs.category);\r\n  }\r\n\r\n  onFreephoneNumbersSearched(numberArgs) {\r\n    this.getFreephoneNumbers(numberArgs.prefix, numberArgs.category);\r\n  }\r\n\r\n  getLocalNumbers(prefix, category) {\r\n    this.searchingLocalNumbers = true;\r\n\r\n    this.getNumbers(prefix, category).subscribe(\r\n      (response) => {\r\n        this.searchingLocalNumbers = false;\r\n        this.localNumbers = response.data;\r\n        this.setSelectedValues(prefix, category);\r\n      },\r\n      (error) => (this.searchingLocalNumbers = false)\r\n    );\r\n  }\r\n\r\n  getNationalNumbers(prefix, category) {\r\n    this.searchingNationalNumbers = true;\r\n\r\n    this.getNumbers(prefix, category).subscribe(\r\n      (response) => {\r\n        this.searchingNationalNumbers = false;\r\n        this.nationalNumbers = response.data;\r\n        this.setSelectedValues(prefix, category);\r\n      },\r\n      (error) => (this.searchingNationalNumbers = false)\r\n    );\r\n  }\r\n\r\n  getFreephoneNumbers(prefix, category) {\r\n    this.searchingFreephoneNumbers = true;\r\n    this.getNumbers(prefix, category).subscribe(\r\n      (response) => {\r\n        this.searchingFreephoneNumbers = false;\r\n        this.freephoneNumbers = response.data;\r\n        this.setSelectedValues(prefix, category);\r\n      },\r\n      (error) => (this.searchingFreephoneNumbers = false)\r\n    );\r\n  }\r\n\r\n  getNumbers(prefix: string, category: string): Observable<any> {\r\n    return this.phoneNumberService.getNumbers(prefix, category).pipe();\r\n  }\r\n\r\n  setNumberValues(numberArgs) {\r\n    this.setSelectedValues(numberArgs.prefix, numberArgs.category);\r\n\r\n    this.category = numberArgs.category;\r\n    this.selectedVirtualNumber = `${numberArgs.prefix} ${numberArgs.range} ${numberArgs.number}`;\r\n\r\n    this.prefix = numberArgs.prefix;\r\n    this.range = numberArgs.range;\r\n    this.number = numberArgs.number;\r\n  }\r\n\r\n  setSelectedValues(prefix, category) {\r\n    switch (this.numberType) {\r\n      case this.LOCAL_NUMBERS:\r\n        this.selectedLocalPrefix = prefix;\r\n        this.selectedLocalCategory = category;\r\n        break;\r\n      case this.NATIONAL_NUMBERS:\r\n        this.selectedNationalPrefix = prefix;\r\n        this.selectedNationalCategory = category;\r\n        break;\r\n      case this.FREEPHONE_NUMBERS:\r\n        this.selectedFreephonePrefix = prefix;\r\n        this.selectedFreephoneCategory = category;\r\n        break;\r\n    }\r\n  }\r\n\r\n  onNumberConfirmClick(number) {\r\n    this.numberConfirmed.emit({\r\n      category: number.category,\r\n      prefix: number.prefix,\r\n      range: number.range,\r\n      number: number.number,\r\n    });\r\n  }\r\n}\r\n","<r247-desktop-number-chooser \r\n  [localNumbers]=\"localNumbers\" \r\n  [nationalNumbers]=\"nationalNumbers\"\r\n  [freephoneNumbers]=\"freephoneNumbers\"\r\n  [searchingLocalNumbers]=\"searchingLocalNumbers\"\r\n  [searchingNationalNumbers]=\"searchingNationalNumbers\"\r\n  [searchingFreephoneNumbers]=\"searchingFreephoneNumbers\"\r\n  [selectedLocalCategory]=\"selectedLocalCategory\"\r\n  [selectedNationalCategory]=\"selectedNationalCategory\"\r\n  [selectedFreephoneCategory]=\"selectedFreephoneCategory\"\r\n  (localNumbersSearched)=\"onLocalNumbersSearched($event)\"\r\n  (nationalNumbersSearched)=\"onNationalNumbersSearched($event)\"\r\n  (freephoneNumbersSearched)=\"onFreephoneNumbersSearched($event)\"\r\n  (numberConfirmed)=\"onNumberConfirmClick($event)\"></r247-desktop-number-chooser>\r\n<r247-mobile-number-chooser\r\n  [localNumbers]=\"localNumbers\" \r\n  [nationalNumbers]=\"nationalNumbers\"\r\n  [freephoneNumbers]=\"freephoneNumbers\" \r\n  [searchingLocalNumbers]=\"searchingLocalNumbers\"\r\n  [searchingNationalNumbers]=\"searchingNationalNumbers\"\r\n  [searchingFreephoneNumbers]=\"searchingFreephoneNumbers\"\r\n  [selectedLocalCategory]=\"selectedLocalCategory\"\r\n  [selectedNationalCategory]=\"selectedNationalCategory\"\r\n  [selectedFreephoneCategory]=\"selectedFreephoneCategory\"\r\n  (localNumbersSearched)=\"onLocalNumbersSearched($event)\"\r\n  (nationalNumbersSearched)=\"onNationalNumbersSearched($event)\"\r\n  (freephoneNumbersSearched)=\"onFreephoneNumbersSearched($event)\"\r\n  (numberConfirmed)=\"onNumberConfirmClick($event)\"></r247-mobile-number-chooser>","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  EventEmitter,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"r247-number-list-card\",\r\n  templateUrl: \"./number-list-card.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247NumberListCardComponent implements OnInit {\r\n  constructor() {}\r\n\r\n  @Input() prefix: string = \"\";\r\n  @Input() categories: string[] = [];\r\n  @Input() prefixes = [];\r\n\r\n  @Input() selectedNumber = \"\";\r\n\r\n  @Output() numberSelected = new EventEmitter();\r\n  @Output() numbersSearched = new EventEmitter();\r\n\r\n  category: string = \"\";\r\n\r\n  @Input() numbers: [];\r\n  @Input() searchingNumbers = true;\r\n\r\n  ngOnInit(): void {\r\n    this.category = this.categories[0];\r\n  }\r\n\r\n  onCategoryChange(value) {\r\n    this.category = value;\r\n    this.searchNumbers();\r\n  }\r\n\r\n  searchNumbers() {\r\n    this.numbersSearched.emit({\r\n      category: this.category,\r\n      prefix: this.prefix,\r\n    });\r\n  }\r\n\r\n  selectNumber(category, number) {\r\n    this.selectedNumber = `${number.prefix} ${number.range} ${number.number}`;\r\n\r\n    this.numberSelected.emit({\r\n      category,\r\n      prefix: number.prefix,\r\n      range: number.range,\r\n      number: number.number,\r\n    });\r\n  }\r\n\r\n  searchPrefixes(term: string, prefix: any) {\r\n    term = term.toLowerCase();\r\n    return (\r\n      prefix.code.toLowerCase().startsWith(term) ||\r\n      prefix.area.toLowerCase().startsWith(term)\r\n    );\r\n  }\r\n}\r\n","<div class=\"card-footer\">\r\n  <div class=\"mb-1\">\r\n    <ng-select \r\n      [items]=\"prefixes\"\r\n      notFoundText=\"No Prefixes Found\"\r\n      [clearable]=\"false\"\r\n      bindLabel=\"description\"\r\n      bindValue=\"code\"\r\n      [(ngModel)]=\"prefix\"\r\n      (ngModelChange)=\"searchNumbers()\"\r\n      [searchFn]=\"searchPrefixes\">\r\n    </ng-select>\r\n  </div>\r\n  <div class=\"mb-1\">\r\n    <ng-select \r\n      [items]=\"categories\"\r\n      notFoundText=\"No Categories Found\"\r\n      [clearable]=\"false\"\r\n      bindLabel=\"category\"\r\n      bindValue=\"category\"\r\n      [(ngModel)]=\"category\"\r\n      (ngModelChange)=\"onCategoryChange($event)\">\r\n    </ng-select>\r\n  </div>\r\n</div>\r\n<div class=\"list-group list-group-flush numbers-list\">\r\n      <div *ngIf=\"searchingNumbers || (numbers === null || numbers?.length <= 0)\" class=\"text-center pt-3\">\r\n        <h3 *ngIf=\"searchingNumbers\">Searching...</h3>\r\n        <h3 *ngIf=\"searchingNumbers === false && (Numbers === null || Numbers?.length <= 0)\">No Numbers Found</h3>\r\n      </div>\r\n      <div \r\n        *ngFor=\"let number of numbers\"\r\n        class=\"list-group-item text-center phone-number-item\"\r\n        [ngClass]=\"{'selected-number': number.prefix + ' ' + number.range + ' ' + number.number === selectedNumber}\"\r\n        (click)=\"selectNumber(category, number)\">\r\n        {{number.prefix}} {{number.range}} {{number.number}}\r\n      </div>\r\n</div>\r\n","const localPrefixes = [\r\n  { code: \"0113\", area: \"Leeds\", description: \"0113 - Leeds\" },\r\n  { code: \"0114\", area: \"Sheffield\", description: \"0114 - Sheffield\" },\r\n  { code: \"0115\", area: \"Nottingham\", description: \"0115 - Nottingham\" },\r\n  { code: \"0116\", area: \"Leicester\", description: \"0116 - Leicester\" },\r\n  { code: \"0117\", area: \"Bristol\", description: \"0117 - Bristol\" },\r\n  { code: \"0118\", area: \"Reading\", description: \"0118 - Reading\" },\r\n  { code: \"01200\", area: \"Clitheroe\", description: \"01200 - Clitheroe\" },\r\n  { code: \"01202\", area: \"Bournemouth\", description: \"01202 - Bournemouth\" },\r\n  { code: \"01204\", area: \"Bolton\", description: \"01204 - Bolton\" },\r\n  { code: \"01205\", area: \"Boston\", description: \"01205 - Boston\" },\r\n  { code: \"01206\", area: \"Colchester\", description: \"01206 - Colchester\" },\r\n  { code: \"01207\", area: \"Consett\", description: \"01207 - Consett\" },\r\n  { code: \"01208\", area: \"Bodmin\", description: \"01208 - Bodmin\" },\r\n  { code: \"01209\", area: \"Redruth\", description: \"01209 - Redruth\" },\r\n  { code: \"0121\", area: \"Birmingham\", description: \"0121 - Birmingham\" },\r\n  { code: \"01223\", area: \"Cambridge\", description: \"01223 - Cambridge\" },\r\n  { code: \"01224\", area: \"Aberdeen\", description: \"01224 - Aberdeen\" },\r\n  { code: \"01225\", area: \"Bath\", description: \"01225 - Bath\" },\r\n  { code: \"01226\", area: \"Barnsley\", description: \"01226 - Barnsley\" },\r\n  { code: \"01227\", area: \"Canterbury\", description: \"01227 - Canterbury\" },\r\n  { code: \"01228\", area: \"Carlisle\", description: \"01228 - Carlisle\" },\r\n  {\r\n    code: \"012292\",\r\n    area: \"Barrow-in-Furness\",\r\n    description: \"012292 - Barrow-in-Furness\",\r\n  },\r\n  { code: \"012293\", area: \"Millom\", description: \"012293 - Millom\" },\r\n  {\r\n    code: \"012294\",\r\n    area: \"Barrow-in-Furness\",\r\n    description: \"012294 - Barrow-in-Furness\",\r\n  },\r\n  {\r\n    code: \"012295\",\r\n    area: \"Barrow-in-Furness\",\r\n    description: \"012295 - Barrow-in-Furness\",\r\n  },\r\n  {\r\n    code: \"012296\",\r\n    area: \"Barrow-in-Furness\",\r\n    description: \"012296 - Barrow-in-Furness\",\r\n  },\r\n  { code: \"012297\", area: \"Millom\", description: \"012297 - Millom\" },\r\n  {\r\n    code: \"012298\",\r\n    area: \"Barrow-in-Furness\",\r\n    description: \"012298 - Barrow-in-Furness\",\r\n  },\r\n  { code: \"012299\", area: \"Millom\", description: \"012299 - Millom\" },\r\n  {\r\n    code: \"01233\",\r\n    area: \"Ashford (Kent)\",\r\n    description: \"01233 - Ashford (Kent)\",\r\n  },\r\n  { code: \"01234\", area: \"Bedford\", description: \"01234 - Bedford\" },\r\n  { code: \"01235\", area: \"Abingdon\", description: \"01235 - Abingdon\" },\r\n  { code: \"01236\", area: \"Coatbridge\", description: \"01236 - Coatbridge\" },\r\n  { code: \"01237\", area: \"Bideford\", description: \"01237 - Bideford\" },\r\n  { code: \"01239\", area: \"Cardigan\", description: \"01239 - Cardigan\" },\r\n  { code: \"01241\", area: \"Arbroath\", description: \"01241 - Arbroath\" },\r\n  { code: \"01242\", area: \"Cheltenham\", description: \"01242 - Cheltenham\" },\r\n  { code: \"01243\", area: \"Chichester\", description: \"01243 - Chichester\" },\r\n  { code: \"01244\", area: \"Chester\", description: \"01244 - Chester\" },\r\n  { code: \"01245\", area: \"Chelmsford\", description: \"01245 - Chelmsford\" },\r\n  { code: \"01246\", area: \"Chesterfield\", description: \"01246 - Chesterfield\" },\r\n  {\r\n    code: \"01248\",\r\n    area: \"Bangor (Gwynedd)\",\r\n    description: \"01248 - Bangor (Gwynedd)\",\r\n  },\r\n  { code: \"01249\", area: \"Chippenham\", description: \"01249 - Chippenham\" },\r\n  { code: \"01250\", area: \"Blairgowrie\", description: \"01250 - Blairgowrie\" },\r\n  { code: \"01252\", area: \"Aldershot\", description: \"01252 - Aldershot\" },\r\n  { code: \"01253\", area: \"Blackpool\", description: \"01253 - Blackpool\" },\r\n  { code: \"01254\", area: \"Blackburn\", description: \"01254 - Blackburn\" },\r\n  {\r\n    code: \"01255\",\r\n    area: \"Clacton-on-Sea\",\r\n    description: \"01255 - Clacton-on-Sea\",\r\n  },\r\n  { code: \"01256\", area: \"Basingstoke\", description: \"01256 - Basingstoke\" },\r\n  { code: \"01257\", area: \"Coppull\", description: \"01257 - Coppull\" },\r\n  { code: \"01258\", area: \"Blandford\", description: \"01258 - Blandford\" },\r\n  { code: \"01259\", area: \"Alloa\", description: \"01259 - Alloa\" },\r\n  { code: \"01260\", area: \"Congleton\", description: \"01260 - Congleton\" },\r\n  { code: \"01261\", area: \"Banff\", description: \"01261 - Banff\" },\r\n  { code: \"01262\", area: \"Bridlington\", description: \"01262 - Bridlington\" },\r\n  { code: \"01263\", area: \"Cromer\", description: \"01263 - Cromer\" },\r\n  { code: \"01264\", area: \"Andover\", description: \"01264 - Andover\" },\r\n  { code: \"01267\", area: \"Carmarthen\", description: \"01267 - Carmarthen\" },\r\n  { code: \"01268\", area: \"Basildon\", description: \"01268 - Basildon\" },\r\n  { code: \"01269\", area: \"Ammanford\", description: \"01269 - Ammanford\" },\r\n  { code: \"01270\", area: \"Crewe\", description: \"01270 - Crewe\" },\r\n  { code: \"01271\", area: \"Barnstaple\", description: \"01271 - Barnstaple\" },\r\n  { code: \"01273\", area: \"Brighton\", description: \"01273 - Brighton\" },\r\n  { code: \"01274\", area: \"Bradford\", description: \"01274 - Bradford\" },\r\n  { code: \"01275\", area: \"Clevedon\", description: \"01275 - Clevedon\" },\r\n  { code: \"01276\", area: \"Camberley\", description: \"01276 - Camberley\" },\r\n  { code: \"01277\", area: \"Brentwood\", description: \"01277 - Brentwood\" },\r\n  { code: \"01278\", area: \"Bridgwater\", description: \"01278 - Bridgwater\" },\r\n  {\r\n    code: \"01279\",\r\n    area: \"Bishops Stortford\",\r\n    description: \"01279 - Bishops Stortford\",\r\n  },\r\n  { code: \"01280\", area: \"Buckingham\", description: \"01280 - Buckingham\" },\r\n  { code: \"01282\", area: \"Burnley\", description: \"01282 - Burnley\" },\r\n  {\r\n    code: \"01283\",\r\n    area: \"Burton-on-Trent\",\r\n    description: \"01283 - Burton-on-Trent\",\r\n  },\r\n  {\r\n    code: \"01284\",\r\n    area: \"Bury St Edmunds\",\r\n    description: \"01284 - Bury St Edmunds\",\r\n  },\r\n  { code: \"01285\", area: \"Cirencester\", description: \"01285 - Cirencester\" },\r\n  { code: \"01286\", area: \"Caernarfon\", description: \"01286 - Caernarfon\" },\r\n  { code: \"01287\", area: \"Guisborough\", description: \"01287 - Guisborough\" },\r\n  { code: \"01288\", area: \"Bude\", description: \"01288 - Bude\" },\r\n  {\r\n    code: \"01289\",\r\n    area: \"Berwick-upon-Tweed\",\r\n    description: \"01289 - Berwick-upon-Tweed\",\r\n  },\r\n  { code: \"01290\", area: \"Cumnock\", description: \"01290 - Cumnock\" },\r\n  { code: \"01291\", area: \"Chepstow\", description: \"01291 - Chepstow\" },\r\n  { code: \"01292\", area: \"Ayr\", description: \"01292 - Ayr\" },\r\n  { code: \"01293\", area: \"Crawley\", description: \"01293 - Crawley\" },\r\n  { code: \"01294\", area: \"Ardrossan\", description: \"01294 - Ardrossan\" },\r\n  { code: \"01295\", area: \"Banbury\", description: \"01295 - Banbury\" },\r\n  { code: \"01296\", area: \"Aylesbury\", description: \"01296 - Aylesbury\" },\r\n  { code: \"01297\", area: \"Axminster\", description: \"01297 - Axminster\" },\r\n  { code: \"01298\", area: \"Buxton\", description: \"01298 - Buxton\" },\r\n  { code: \"01299\", area: \"Bewdley\", description: \"01299 - Bewdley\" },\r\n  { code: \"01300\", area: \"Cerne Abbas\", description: \"01300 - Cerne Abbas\" },\r\n  { code: \"01301\", area: \"Arrochar\", description: \"01301 - Arrochar\" },\r\n  { code: \"01302\", area: \"Doncaster\", description: \"01302 - Doncaster\" },\r\n  { code: \"01303\", area: \"Folkestone\", description: \"01303 - Folkestone\" },\r\n  { code: \"01304\", area: \"Dover\", description: \"01304 - Dover\" },\r\n  { code: \"01305\", area: \"Dorchester\", description: \"01305 - Dorchester\" },\r\n  {\r\n    code: \"01305\",\r\n    area: \"Martinstown (Dorset)\",\r\n    description: \"01305 - Martinstown (Dorset)\",\r\n  },\r\n  { code: \"01306\", area: \"Dorking\", description: \"01306 - Dorking\" },\r\n  { code: \"01307\", area: \"Forfar\", description: \"01307 - Forfar\" },\r\n  { code: \"01308\", area: \"Bridport\", description: \"01308 - Bridport\" },\r\n  { code: \"01309\", area: \"Forres\", description: \"01309 - Forres\" },\r\n  { code: \"0131\", area: \"Edinburgh\", description: \"0131 - Edinburgh\" },\r\n  {\r\n    code: \"01320\",\r\n    area: \"Fort Augustus\",\r\n    description: \"01320 - Fort Augustus\",\r\n  },\r\n  { code: \"01322\", area: \"Dartford\", description: \"01322 - Dartford\" },\r\n  { code: \"01323\", area: \"Eastbourne\", description: \"01323 - Eastbourne\" },\r\n  { code: \"01324\", area: \"Falkirk\", description: \"01324 - Falkirk\" },\r\n  { code: \"01325\", area: \"Darlington\", description: \"01325 - Darlington\" },\r\n  { code: \"01326\", area: \"Falmouth\", description: \"01326 - Falmouth\" },\r\n  { code: \"01327\", area: \"Daventry\", description: \"01327 - Daventry\" },\r\n  { code: \"01328\", area: \"Fakenham\", description: \"01328 - Fakenham\" },\r\n  { code: \"01329\", area: \"Fareham\", description: \"01329 - Fareham\" },\r\n  { code: \"01330\", area: \"Banchory\", description: \"01330 - Banchory\" },\r\n  { code: \"01332\", area: \"Derby\", description: \"01332 - Derby\" },\r\n  { code: \"01333\", area: \"Peat Inn\", description: \"01333 - Peat Inn\" },\r\n  { code: \"01334\", area: \"St Andrews\", description: \"01334 - St Andrews\" },\r\n  { code: \"01335\", area: \"Ashbourne\", description: \"01335 - Ashbourne\" },\r\n  { code: \"01337\", area: \"Ladybank\", description: \"01337 - Ladybank\" },\r\n  { code: \"013392\", area: \"Aboyne\", description: \"013392 - Aboyne\" },\r\n  { code: \"013393\", area: \"Aboyne\", description: \"013393 - Aboyne\" },\r\n  { code: \"013394\", area: \"Ballater\", description: \"013394 - Ballater\" },\r\n  { code: \"013395\", area: \"Aboyne\", description: \"013395 - Aboyne\" },\r\n  { code: \"013396\", area: \"Ballater\", description: \"013396 - Ballater\" },\r\n  { code: \"013397\", area: \"Ballater\", description: \"013397 - Ballater\" },\r\n  { code: \"013398\", area: \"Aboyne\", description: \"013398 - Aboyne\" },\r\n  { code: \"013399\", area: \"Ballater\", description: \"013399 - Ballater\" },\r\n  {\r\n    code: \"01340\",\r\n    area: \"Craigellachie\",\r\n    description: \"01340 - Craigellachie\",\r\n  },\r\n  { code: \"01341\", area: \"Barmouth\", description: \"01341 - Barmouth\" },\r\n  {\r\n    code: \"01342\",\r\n    area: \"East Grinstead\",\r\n    description: \"01342 - East Grinstead\",\r\n  },\r\n  { code: \"01343\", area: \"Elgin\", description: \"01343 - Elgin\" },\r\n  { code: \"01344\", area: \"Bracknell\", description: \"01344 - Bracknell\" },\r\n  { code: \"01346\", area: \"Fraserburgh\", description: \"01346 - Fraserburgh\" },\r\n  { code: \"01347\", area: \"Easingwold\", description: \"01347 - Easingwold\" },\r\n  { code: \"01348\", area: \"Fishguard\", description: \"01348 - Fishguard\" },\r\n  { code: \"01349\", area: \"Dingwall\", description: \"01349 - Dingwall\" },\r\n  { code: \"01350\", area: \"Dunkeld\", description: \"01350 - Dunkeld\" },\r\n  { code: \"01352\", area: \"Mold\", description: \"01352 - Mold\" },\r\n  { code: \"01353\", area: \"Ely\", description: \"01353 - Ely\" },\r\n  { code: \"01354\", area: \"Chatteris\", description: \"01354 - Chatteris\" },\r\n  {\r\n    code: \"01355\",\r\n    area: \"East Kilbride\",\r\n    description: \"01355 - East Kilbride\",\r\n  },\r\n  { code: \"01356\", area: \"Brechin\", description: \"01356 - Brechin\" },\r\n  { code: \"01357\", area: \"Strathaven\", description: \"01357 - Strathaven\" },\r\n  { code: \"01358\", area: \"Ellon\", description: \"01358 - Ellon\" },\r\n  { code: \"01359\", area: \"Pakenham\", description: \"01359 - Pakenham\" },\r\n  { code: \"01360\", area: \"Killearn\", description: \"01360 - Killearn\" },\r\n  { code: \"01361\", area: \"Duns\", description: \"01361 - Duns\" },\r\n  { code: \"01362\", area: \"Dereham\", description: \"01362 - Dereham\" },\r\n  { code: \"01363\", area: \"Crediton\", description: \"01363 - Crediton\" },\r\n  { code: \"01364\", area: \"Ashburton\", description: \"01364 - Ashburton\" },\r\n  {\r\n    code: \"01366\",\r\n    area: \"Downham Market\",\r\n    description: \"01366 - Downham Market\",\r\n  },\r\n  { code: \"01367\", area: \"Faringdon\", description: \"01367 - Faringdon\" },\r\n  { code: \"01368\", area: \"Dunbar\", description: \"01368 - Dunbar\" },\r\n  { code: \"01369\", area: \"Dunoon\", description: \"01369 - Dunoon\" },\r\n  { code: \"01371\", area: \"Great Dunmow\", description: \"01371 - Great Dunmow\" },\r\n  { code: \"01372\", area: \"Esher\", description: \"01372 - Esher\" },\r\n  { code: \"01373\", area: \"Frome\", description: \"01373 - Frome\" },\r\n  {\r\n    code: \"01375\",\r\n    area: \"Grays Thurrock\",\r\n    description: \"01375 - Grays Thurrock\",\r\n  },\r\n  { code: \"01376\", area: \"Braintree\", description: \"01376 - Braintree\" },\r\n  { code: \"01377\", area: \"Driffield\", description: \"01377 - Driffield\" },\r\n  { code: \"01379\", area: \"Diss\", description: \"01379 - Diss\" },\r\n  { code: \"01380\", area: \"Devizes\", description: \"01380 - Devizes\" },\r\n  { code: \"01381\", area: \"Fortrose\", description: \"01381 - Fortrose\" },\r\n  { code: \"01382\", area: \"Dundee\", description: \"01382 - Dundee\" },\r\n  { code: \"01383\", area: \"Dunfermline\", description: \"01383 - Dunfermline\" },\r\n  { code: \"01384\", area: \"Dudley\", description: \"01384 - Dudley\" },\r\n  { code: \"01386\", area: \"Evesham\", description: \"01386 - Evesham\" },\r\n  { code: \"01387\", area: \"Dumfries\", description: \"01387 - Dumfries\" },\r\n  { code: \"013873\", area: \"Langholm\", description: \"013873 - Langholm\" },\r\n  { code: \"013882\", area: \"Stanhope\", description: \"013882 - Stanhope\" },\r\n  {\r\n    code: \"013883\",\r\n    area: \"Bishop Auckland\",\r\n    description: \"013883 - Bishop Auckland\",\r\n  },\r\n  {\r\n    code: \"013884\",\r\n    area: \"Bishop Auckland\",\r\n    description: \"013884 - Bishop Auckland\",\r\n  },\r\n  { code: \"013885\", area: \"Stanhope\", description: \"013885 - Stanhope\" },\r\n  {\r\n    code: \"013886\",\r\n    area: \"Bishop Auckland\",\r\n    description: \"013886 - Bishop Auckland\",\r\n  },\r\n  {\r\n    code: \"013887\",\r\n    area: \"Bishop Auckland\",\r\n    description: \"013887 - Bishop Auckland\",\r\n  },\r\n  {\r\n    code: \"013888\",\r\n    area: \"Bishop Auckland\",\r\n    description: \"013888 - Bishop Auckland\",\r\n  },\r\n  {\r\n    code: \"013889\",\r\n    area: \"Bishop Auckland\",\r\n    description: \"013889 - Bishop Auckland\",\r\n  },\r\n  { code: \"01389\", area: \"Dumbarton\", description: \"01389 - Dumbarton\" },\r\n  { code: \"01392\", area: \"Exeter\", description: \"01392 - Exeter\" },\r\n  { code: \"01394\", area: \"Felixstowe\", description: \"01394 - Felixstowe\" },\r\n  {\r\n    code: \"01395\",\r\n    area: \"Budleigh Salterton\",\r\n    description: \"01395 - Budleigh Salterton\",\r\n  },\r\n  { code: \"01397\", area: \"Fort William\", description: \"01397 - Fort William\" },\r\n  { code: \"01398\", area: \"Dulverton\", description: \"01398 - Dulverton\" },\r\n  { code: \"01400\", area: \"Honington\", description: \"01400 - Honington\" },\r\n  { code: \"01403\", area: \"Horsham\", description: \"01403 - Horsham\" },\r\n  { code: \"01404\", area: \"Honiton\", description: \"01404 - Honiton\" },\r\n  { code: \"01405\", area: \"Goole\", description: \"01405 - Goole\" },\r\n  { code: \"01406\", area: \"Holbeach\", description: \"01406 - Holbeach\" },\r\n  { code: \"01407\", area: \"Holyhead\", description: \"01407 - Holyhead\" },\r\n  { code: \"01408\", area: \"Golspie\", description: \"01408 - Golspie\" },\r\n  { code: \"01409\", area: \"Holsworthy\", description: \"01409 - Holsworthy\" },\r\n  { code: \"0141\", area: \"Glasgow\", description: \"0141 - Glasgow\" },\r\n  { code: \"01420\", area: \"Alton\", description: \"01420 - Alton\" },\r\n  { code: \"01422\", area: \"Halifax\", description: \"01422 - Halifax\" },\r\n  {\r\n    code: \"01423\",\r\n    area: \"Boroughbridge\",\r\n    description: \"01423 - Boroughbridge\",\r\n  },\r\n  { code: \"01423\", area: \"Harrogate\", description: \"01423 - Harrogate\" },\r\n  { code: \"01424\", area: \"Hastings\", description: \"01424 - Hastings\" },\r\n  { code: \"01425\", area: \"Ringwood\", description: \"01425 - Ringwood\" },\r\n  { code: \"01427\", area: \"Gainsborough\", description: \"01427 - Gainsborough\" },\r\n  { code: \"01428\", area: \"Haslemere\", description: \"01428 - Haslemere\" },\r\n  { code: \"01429\", area: \"Hartlepool\", description: \"01429 - Hartlepool\" },\r\n  { code: \"014302\", area: \"North Cave\", description: \"014302 - North Cave\" },\r\n  { code: \"014303\", area: \"North Cave\", description: \"014303 - North Cave\" },\r\n  { code: \"014304\", area: \"North Cave\", description: \"014304 - North Cave\" },\r\n  { code: \"014305\", area: \"North Cave\", description: \"014305 - North Cave\" },\r\n  {\r\n    code: \"014306\",\r\n    area: \"Market Weighton\",\r\n    description: \"014306 - Market Weighton\",\r\n  },\r\n  {\r\n    code: \"014307\",\r\n    area: \"Market Weighton\",\r\n    description: \"014307 - Market Weighton\",\r\n  },\r\n  {\r\n    code: \"014308\",\r\n    area: \"Market Weighton\",\r\n    description: \"014308 - Market Weighton\",\r\n  },\r\n  {\r\n    code: \"014309\",\r\n    area: \"Market Weighton\",\r\n    description: \"014309 - Market Weighton\",\r\n  },\r\n  { code: \"01431\", area: \"Helmsdale\", description: \"01431 - Helmsdale\" },\r\n  { code: \"01432\", area: \"Hereford\", description: \"01432 - Hereford\" },\r\n  { code: \"01433\", area: \"Hathersage\", description: \"01433 - Hathersage\" },\r\n  { code: \"014342\", area: \"Bellingham\", description: \"014342 - Bellingham\" },\r\n  { code: \"014343\", area: \"Haltwhistle\", description: \"014343 - Haltwhistle\" },\r\n  { code: \"014344\", area: \"Bellingham\", description: \"014344 - Bellingham\" },\r\n  { code: \"014345\", area: \"Haltwhistle\", description: \"014345 - Haltwhistle\" },\r\n  { code: \"014346\", area: \"Hexham\", description: \"014346 - Hexham\" },\r\n  { code: \"014347\", area: \"Hexham\", description: \"014347 - Hexham\" },\r\n  { code: \"014348\", area: \"Hexham\", description: \"014348 - Hexham\" },\r\n  { code: \"014349\", area: \"Bellingham\", description: \"014349 - Bellingham\" },\r\n  { code: \"01435\", area: \"Heathfield\", description: \"01435 - Heathfield\" },\r\n  { code: \"01436\", area: \"Helensburgh\", description: \"01436 - Helensburgh\" },\r\n  { code: \"014372\", area: \"Clynderwen\", description: \"014372 - Clynderwen\" },\r\n  { code: \"014373\", area: \"Clynderwen\", description: \"014373 - Clynderwen\" },\r\n  { code: \"014374\", area: \"Clynderwen\", description: \"014374 - Clynderwen\" },\r\n  { code: \"014375\", area: \"Clynderwen\", description: \"014375 - Clynderwen\" },\r\n  {\r\n    code: \"014376\",\r\n    area: \"Haverfordwest\",\r\n    description: \"014376 - Haverfordwest\",\r\n  },\r\n  {\r\n    code: \"014377\",\r\n    area: \"Haverfordwest\",\r\n    description: \"014377 - Haverfordwest\",\r\n  },\r\n  {\r\n    code: \"014378\",\r\n    area: \"Haverfordwest\",\r\n    description: \"014378 - Haverfordwest\",\r\n  },\r\n  {\r\n    code: \"014379\",\r\n    area: \"Haverfordwest\",\r\n    description: \"014379 - Haverfordwest\",\r\n  },\r\n  { code: \"01438\", area: \"Stevenage\", description: \"01438 - Stevenage\" },\r\n  { code: \"01439\", area: \"Helmsley\", description: \"01439 - Helmsley\" },\r\n  { code: \"01440\", area: \"Haverhill\", description: \"01440 - Haverhill\" },\r\n  {\r\n    code: \"01442\",\r\n    area: \"Hemel Hempstead\",\r\n    description: \"01442 - Hemel Hempstead\",\r\n  },\r\n  { code: \"01443\", area: \"Pontypridd\", description: \"01443 - Pontypridd\" },\r\n  {\r\n    code: \"01444\",\r\n    area: \"Haywards Heath\",\r\n    description: \"01444 - Haywards Heath\",\r\n  },\r\n  { code: \"01445\", area: \"Gairloch\", description: \"01445 - Gairloch\" },\r\n  { code: \"01446\", area: \"Barry\", description: \"01446 - Barry\" },\r\n  { code: \"01449\", area: \"Stowmarket\", description: \"01449 - Stowmarket\" },\r\n  { code: \"01450\", area: \"Hawick\", description: \"01450 - Hawick\" },\r\n  {\r\n    code: \"01451\",\r\n    area: \"Stow-on-the-Wold\",\r\n    description: \"01451 - Stow-on-the-Wold\",\r\n  },\r\n  { code: \"01452\", area: \"Gloucester\", description: \"01452 - Gloucester\" },\r\n  { code: \"01453\", area: \"Dursley\", description: \"01453 - Dursley\" },\r\n  {\r\n    code: \"01454\",\r\n    area: \"Chipping Sodbury\",\r\n    description: \"01454 - Chipping Sodbury\",\r\n  },\r\n  { code: \"01455\", area: \"Hinckley\", description: \"01455 - Hinckley\" },\r\n  { code: \"01456\", area: \"Glenurquhart\", description: \"01456 - Glenurquhart\" },\r\n  { code: \"01457\", area: \"Glossop\", description: \"01457 - Glossop\" },\r\n  { code: \"01458\", area: \"Glastonbury\", description: \"01458 - Glastonbury\" },\r\n  { code: \"01460\", area: \"Chard\", description: \"01460 - Chard\" },\r\n  { code: \"01461\", area: \"Gretna\", description: \"01461 - Gretna\" },\r\n  { code: \"01462\", area: \"Hitchin\", description: \"01462 - Hitchin\" },\r\n  { code: \"01463\", area: \"Inverness\", description: \"01463 - Inverness\" },\r\n  { code: \"01464\", area: \"Insch\", description: \"01464 - Insch\" },\r\n  { code: \"01465\", area: \"Girvan\", description: \"01465 - Girvan\" },\r\n  { code: \"01466\", area: \"Huntly\", description: \"01466 - Huntly\" },\r\n  { code: \"01467\", area: \"Inverurie\", description: \"01467 - Inverurie\" },\r\n  { code: \"01469\", area: \"Killingholme\", description: \"01469 - Killingholme\" },\r\n  {\r\n    code: \"01470\",\r\n    area: \"Isle of Skye - Edinbane\",\r\n    description: \"01470 - Isle of Skye - Edinbane\",\r\n  },\r\n  {\r\n    code: \"01471\",\r\n    area: \"Isle of Skye - Broadford\",\r\n    description: \"01471 - Isle of Skye - Broadford\",\r\n  },\r\n  { code: \"01472\", area: \"Grimsby\", description: \"01472 - Grimsby\" },\r\n  { code: \"01473\", area: \"Ipswich\", description: \"01473 - Ipswich\" },\r\n  { code: \"01474\", area: \"Gravesend\", description: \"01474 - Gravesend\" },\r\n  { code: \"01475\", area: \"Greenock\", description: \"01475 - Greenock\" },\r\n  { code: \"01476\", area: \"Grantham\", description: \"01476 - Grantham\" },\r\n  {\r\n    code: \"01477\",\r\n    area: \"Holmes Chapel\",\r\n    description: \"01477 - Holmes Chapel\",\r\n  },\r\n  {\r\n    code: \"01478\",\r\n    area: \"Isle of Skye - Portree\",\r\n    description: \"01478 - Isle of Skye - Portree\",\r\n  },\r\n  {\r\n    code: \"01479\",\r\n    area: \"Grantown-on-Spey\",\r\n    description: \"01479 - Grantown-on-Spey\",\r\n  },\r\n  { code: \"01480\", area: \"Huntingdon\", description: \"01480 - Huntingdon\" },\r\n  { code: \"01481\", area: \"Guernsey\", description: \"01481 - Guernsey\" },\r\n  { code: \"01482\", area: \"Hull\", description: \"01482 - Hull\" },\r\n  { code: \"01483\", area: \"Guildford\", description: \"01483 - Guildford\" },\r\n  { code: \"01484\", area: \"Huddersfield\", description: \"01484 - Huddersfield\" },\r\n  { code: \"01485\", area: \"Hunstanton\", description: \"01485 - Hunstanton\" },\r\n  { code: \"01487\", area: \"Warboys\", description: \"01487 - Warboys\" },\r\n  { code: \"01488\", area: \"Hungerford\", description: \"01488 - Hungerford\" },\r\n  {\r\n    code: \"01489\",\r\n    area: \"Bishops Waltham\",\r\n    description: \"01489 - Bishops Waltham\",\r\n  },\r\n  { code: \"01490\", area: \"Corwen\", description: \"01490 - Corwen\" },\r\n  {\r\n    code: \"01491\",\r\n    area: \"Henley-on-Thames\",\r\n    description: \"01491 - Henley-on-Thames\",\r\n  },\r\n  { code: \"01492\", area: \"Colwyn Bay\", description: \"01492 - Colwyn Bay\" },\r\n  {\r\n    code: \"01493\",\r\n    area: \"Great Yarmouth\",\r\n    description: \"01493 - Great Yarmouth\",\r\n  },\r\n  { code: \"01494\", area: \"High Wycombe\", description: \"01494 - High Wycombe\" },\r\n  { code: \"01495\", area: \"Pontypool\", description: \"01495 - Pontypool\" },\r\n  { code: \"01496\", area: \"Port Ellen\", description: \"01496 - Port Ellen\" },\r\n  { code: \"01497\", area: \"Hay-on-Wye\", description: \"01497 - Hay-on-Wye\" },\r\n  { code: \"01499\", area: \"Inveraray\", description: \"01499 - Inveraray\" },\r\n  { code: \"01501\", area: \"Harthill\", description: \"01501 - Harthill\" },\r\n  { code: \"01502\", area: \"Lowestoft\", description: \"01502 - Lowestoft\" },\r\n  { code: \"01503\", area: \"Looe\", description: \"01503 - Looe\" },\r\n  { code: \"01505\", area: \"Johnstone\", description: \"01505 - Johnstone\" },\r\n  { code: \"01506\", area: \"Bathgate\", description: \"01506 - Bathgate\" },\r\n  { code: \"015072\", area: \"Spilsby\", description: \"015072 - Spilsby\" },\r\n  { code: \"015073\", area: \"Louth\", description: \"015073 - Louth\" },\r\n  {\r\n    code: \"015074\",\r\n    area: \"Alford (Lincs)\",\r\n    description: \"015074 - Alford (Lincs)\",\r\n  },\r\n  { code: \"015075\", area: \"Spilsby\", description: \"015075 - Spilsby\" },\r\n  { code: \"015076\", area: \"Louth\", description: \"015076 - Louth\" },\r\n  { code: \"015077\", area: \"Louth\", description: \"015077 - Louth\" },\r\n  {\r\n    code: \"015078\",\r\n    area: \"Alford (Lincs)\",\r\n    description: \"015078 - Alford (Lincs)\",\r\n  },\r\n  {\r\n    code: \"015079\",\r\n    area: \"Alford (Lincs)\",\r\n    description: \"015079 - Alford (Lincs)\",\r\n  },\r\n  { code: \"01508\", area: \"Brooke\", description: \"01508 - Brooke\" },\r\n  { code: \"01509\", area: \"Loughborough\", description: \"01509 - Loughborough\" },\r\n  { code: \"0151\", area: \"Liverpool\", description: \"0151 - Liverpool\" },\r\n  { code: \"01520\", area: \"Lochcarron\", description: \"01520 - Lochcarron\" },\r\n  { code: \"01522\", area: \"Lincoln\", description: \"01522 - Lincoln\" },\r\n  { code: \"01524\", area: \"Lancaster\", description: \"01524 - Lancaster\" },\r\n  { code: \"015242\", area: \"Hornby\", description: \"015242 - Hornby\" },\r\n  {\r\n    code: \"01525\",\r\n    area: \"Leighton Buzzard\",\r\n    description: \"01525 - Leighton Buzzard\",\r\n  },\r\n  { code: \"01526\", area: \"Martin\", description: \"01526 - Martin\" },\r\n  { code: \"01527\", area: \"Redditch\", description: \"01527 - Redditch\" },\r\n  { code: \"01528\", area: \"Laggan\", description: \"01528 - Laggan\" },\r\n  { code: \"01529\", area: \"Sleaford\", description: \"01529 - Sleaford\" },\r\n  { code: \"01530\", area: \"Coalville\", description: \"01530 - Coalville\" },\r\n  { code: \"01531\", area: \"Ledbury\", description: \"01531 - Ledbury\" },\r\n  { code: \"01534\", area: \"Jersey\", description: \"01534 - Jersey\" },\r\n  { code: \"01535\", area: \"Keighley\", description: \"01535 - Keighley\" },\r\n  { code: \"01536\", area: \"Kettering\", description: \"01536 - Kettering\" },\r\n  { code: \"01538\", area: \"Ipstones\", description: \"01538 - Ipstones\" },\r\n  { code: \"01539\", area: \"Kendal\", description: \"01539 - Kendal\" },\r\n  { code: \"015394\", area: \"Hawkshead\", description: \"015394 - Hawkshead\" },\r\n  {\r\n    code: \"015395\",\r\n    area: \"Grange-over-Sands\",\r\n    description: \"015395 - Grange-over-Sands\",\r\n  },\r\n  { code: \"015396\", area: \"Sedbergh\", description: \"015396 - Sedbergh\" },\r\n  { code: \"01540\", area: \"Kingussie\", description: \"01540 - Kingussie\" },\r\n  { code: \"01542\", area: \"Keith\", description: \"01542 - Keith\" },\r\n  { code: \"01543\", area: \"Cannock\", description: \"01543 - Cannock\" },\r\n  { code: \"01544\", area: \"Kington\", description: \"01544 - Kington\" },\r\n  { code: \"01545\", area: \"Llanarth\", description: \"01545 - Llanarth\" },\r\n  { code: \"01546\", area: \"Lochgilphead\", description: \"01546 - Lochgilphead\" },\r\n  { code: \"01547\", area: \"Knighton\", description: \"01547 - Knighton\" },\r\n  { code: \"01548\", area: \"Kingsbridge\", description: \"01548 - Kingsbridge\" },\r\n  { code: \"01549\", area: \"Lairg\", description: \"01549 - Lairg\" },\r\n  { code: \"01550\", area: \"Llandovery\", description: \"01550 - Llandovery\" },\r\n  { code: \"01553\", area: \"Kings Lynn\", description: \"01553 - Kings Lynn\" },\r\n  { code: \"01554\", area: \"Llanelli\", description: \"01554 - Llanelli\" },\r\n  { code: \"01555\", area: \"Lanark\", description: \"01555 - Lanark\" },\r\n  {\r\n    code: \"01556\",\r\n    area: \"Castle Douglas\",\r\n    description: \"01556 - Castle Douglas\",\r\n  },\r\n  {\r\n    code: \"01557\",\r\n    area: \"Kirkcudbright\",\r\n    description: \"01557 - Kirkcudbright\",\r\n  },\r\n  { code: \"01558\", area: \"Llandeilo\", description: \"01558 - Llandeilo\" },\r\n  { code: \"01559\", area: \"Llandysul\", description: \"01559 - Llandysul\" },\r\n  { code: \"01560\", area: \"Moscow\", description: \"01560 - Moscow\" },\r\n  { code: \"01561\", area: \"Laurencekirk\", description: \"01561 - Laurencekirk\" },\r\n  {\r\n    code: \"01562\",\r\n    area: \"Kidderminster\",\r\n    description: \"01562 - Kidderminster\",\r\n  },\r\n  { code: \"01563\", area: \"Kilmarnock\", description: \"01563 - Kilmarnock\" },\r\n  { code: \"01564\", area: \"Lapworth\", description: \"01564 - Lapworth\" },\r\n  { code: \"01565\", area: \"Knutsford\", description: \"01565 - Knutsford\" },\r\n  { code: \"01566\", area: \"Launceston\", description: \"01566 - Launceston\" },\r\n  { code: \"01567\", area: \"Killin\", description: \"01567 - Killin\" },\r\n  { code: \"01568\", area: \"Leominster\", description: \"01568 - Leominster\" },\r\n  { code: \"01569\", area: \"Stonehaven\", description: \"01569 - Stonehaven\" },\r\n  { code: \"01570\", area: \"Lampeter\", description: \"01570 - Lampeter\" },\r\n  { code: \"01571\", area: \"Lochinver\", description: \"01571 - Lochinver\" },\r\n  { code: \"01572\", area: \"Oakham\", description: \"01572 - Oakham\" },\r\n  { code: \"01573\", area: \"Kelso\", description: \"01573 - Kelso\" },\r\n  { code: \"01575\", area: \"Kirriemuir\", description: \"01575 - Kirriemuir\" },\r\n  { code: \"01576\", area: \"Lockerbie\", description: \"01576 - Lockerbie\" },\r\n  { code: \"01577\", area: \"Kinross\", description: \"01577 - Kinross\" },\r\n  { code: \"01578\", area: \"Lauder\", description: \"01578 - Lauder\" },\r\n  { code: \"01579\", area: \"Liskeard\", description: \"01579 - Liskeard\" },\r\n  { code: \"01580\", area: \"Cranbrook\", description: \"01580 - Cranbrook\" },\r\n  { code: \"01581\", area: \"New Luce\", description: \"01581 - New Luce\" },\r\n  { code: \"01582\", area: \"Luton\", description: \"01582 - Luton\" },\r\n  { code: \"01583\", area: \"Carradale\", description: \"01583 - Carradale\" },\r\n  { code: \"01584\", area: \"Ludlow\", description: \"01584 - Ludlow\" },\r\n  { code: \"01586\", area: \"Campbeltown\", description: \"01586 - Campbeltown\" },\r\n  {\r\n    code: \"01588\",\r\n    area: \"Bishops Castle\",\r\n    description: \"01588 - Bishops Castle\",\r\n  },\r\n  { code: \"01590\", area: \"Lymington\", description: \"01590 - Lymington\" },\r\n  {\r\n    code: \"01591\",\r\n    area: \"Llanwrtyd Wells\",\r\n    description: \"01591 - Llanwrtyd Wells\",\r\n  },\r\n  { code: \"01592\", area: \"Kirkcaldy\", description: \"01592 - Kirkcaldy\" },\r\n  { code: \"01593\", area: \"Lybster\", description: \"01593 - Lybster\" },\r\n  { code: \"01594\", area: \"Lydney\", description: \"01594 - Lydney\" },\r\n  { code: \"01595\", area: \"Lerwick\", description: \"01595 - Lerwick\" },\r\n  { code: \"01595\", area: \"Foula\", description: \"01595 - Foula\" },\r\n  { code: \"01595\", area: \"Fair Isle\", description: \"01595 - Fair Isle\" },\r\n  {\r\n    code: \"01597\",\r\n    area: \"Llandrindod Wells\",\r\n    description: \"01597 - Llandrindod Wells\",\r\n  },\r\n  { code: \"01598\", area: \"Lynton\", description: \"01598 - Lynton\" },\r\n  { code: \"01599\", area: \"Kyle\", description: \"01599 - Kyle\" },\r\n  { code: \"01600\", area: \"Monmouth\", description: \"01600 - Monmouth\" },\r\n  { code: \"01603\", area: \"Norwich\", description: \"01603 - Norwich\" },\r\n  { code: \"01604\", area: \"Northampton\", description: \"01604 - Northampton\" },\r\n  { code: \"01606\", area: \"Northwich\", description: \"01606 - Northwich\" },\r\n  {\r\n    code: \"01608\",\r\n    area: \"Chipping Norton\",\r\n    description: \"01608 - Chipping Norton\",\r\n  },\r\n  {\r\n    code: \"01609\",\r\n    area: \"Northallerton\",\r\n    description: \"01609 - Northallerton\",\r\n  },\r\n  { code: \"0161\", area: \"Manchester\", description: \"0161 - Manchester\" },\r\n  {\r\n    code: \"01620\",\r\n    area: \"North Berwick\",\r\n    description: \"01620 - North Berwick\",\r\n  },\r\n  { code: \"01621\", area: \"Maldon\", description: \"01621 - Maldon\" },\r\n  { code: \"01622\", area: \"Maidstone\", description: \"01622 - Maidstone\" },\r\n  { code: \"01623\", area: \"Mansfield\", description: \"01623 - Mansfield\" },\r\n  { code: \"01624\", area: \"Isle of Man\", description: \"01624 - Isle of Man\" },\r\n  { code: \"01625\", area: \"Macclesfield\", description: \"01625 - Macclesfield\" },\r\n  { code: \"01626\", area: \"Newton Abbot\", description: \"01626 - Newton Abbot\" },\r\n  { code: \"01628\", area: \"Maidenhead\", description: \"01628 - Maidenhead\" },\r\n  { code: \"01629\", area: \"Matlock\", description: \"01629 - Matlock\" },\r\n  {\r\n    code: \"01630\",\r\n    area: \"Market Drayton\",\r\n    description: \"01630 - Market Drayton\",\r\n  },\r\n  { code: \"01631\", area: \"Oban\", description: \"01631 - Oban\" },\r\n  { code: \"01633\", area: \"Newport\", description: \"01633 - Newport\" },\r\n  { code: \"01634\", area: \"Medway\", description: \"01634 - Medway\" },\r\n  { code: \"01635\", area: \"Newbury\", description: \"01635 - Newbury\" },\r\n  { code: \"01636\", area: \"Newark\", description: \"01636 - Newark\" },\r\n  { code: \"01637\", area: \"Newquay\", description: \"01637 - Newquay\" },\r\n  { code: \"01638\", area: \"Newmarket\", description: \"01638 - Newmarket\" },\r\n  { code: \"01639\", area: \"Neath\", description: \"01639 - Neath\" },\r\n  { code: \"01641\", area: \"Strathy\", description: \"01641 - Strathy\" },\r\n  {\r\n    code: \"01642\",\r\n    area: \"Middlesbrough\",\r\n    description: \"01642 - Middlesbrough\",\r\n  },\r\n  { code: \"01643\", area: \"Minehead\", description: \"01643 - Minehead\" },\r\n  { code: \"01644\", area: \"New Galloway\", description: \"01644 - New Galloway\" },\r\n  {\r\n    code: \"01646\",\r\n    area: \"Milford Haven\",\r\n    description: \"01646 - Milford Haven\",\r\n  },\r\n  {\r\n    code: \"01647\",\r\n    area: \"Moretonhampstead\",\r\n    description: \"01647 - Moretonhampstead\",\r\n  },\r\n  { code: \"01650\", area: \"Cemmaes Road\", description: \"01650 - Cemmaes Road\" },\r\n  { code: \"01651\", area: \"Oldmeldrum\", description: \"01651 - Oldmeldrum\" },\r\n  { code: \"01652\", area: \"Brigg\", description: \"01652 - Brigg\" },\r\n  { code: \"01653\", area: \"Malton\", description: \"01653 - Malton\" },\r\n  { code: \"01654\", area: \"Machynlleth\", description: \"01654 - Machynlleth\" },\r\n  { code: \"01655\", area: \"Maybole\", description: \"01655 - Maybole\" },\r\n  { code: \"01656\", area: \"Bridgend\", description: \"01656 - Bridgend\" },\r\n  { code: \"01659\", area: \"Sanquhar\", description: \"01659 - Sanquhar\" },\r\n  { code: \"01661\", area: \"Prudhoe\", description: \"01661 - Prudhoe\" },\r\n  { code: \"01663\", area: \"New Mills\", description: \"01663 - New Mills\" },\r\n  {\r\n    code: \"01664\",\r\n    area: \"Melton Mowbray\",\r\n    description: \"01664 - Melton Mowbray\",\r\n  },\r\n  { code: \"01665\", area: \"Alnwick\", description: \"01665 - Alnwick\" },\r\n  { code: \"01666\", area: \"Malmesbury\", description: \"01666 - Malmesbury\" },\r\n  { code: \"01667\", area: \"Nairn\", description: \"01667 - Nairn\" },\r\n  { code: \"01668\", area: \"Bamburgh\", description: \"01668 - Bamburgh\" },\r\n  { code: \"01669\", area: \"Rothbury\", description: \"01669 - Rothbury\" },\r\n  { code: \"01670\", area: \"Morpeth\", description: \"01670 - Morpeth\" },\r\n  {\r\n    code: \"01671\",\r\n    area: \"Newton Stewart\",\r\n    description: \"01671 - Newton Stewart\",\r\n  },\r\n  { code: \"01672\", area: \"Marlborough\", description: \"01672 - Marlborough\" },\r\n  { code: \"01673\", area: \"Market Rasen\", description: \"01673 - Market Rasen\" },\r\n  { code: \"01674\", area: \"Montrose\", description: \"01674 - Montrose\" },\r\n  { code: \"01675\", area: \"Coleshill\", description: \"01675 - Coleshill\" },\r\n  { code: \"01676\", area: \"Meriden\", description: \"01676 - Meriden\" },\r\n  { code: \"01677\", area: \"Bedale\", description: \"01677 - Bedale\" },\r\n  { code: \"01678\", area: \"Bala\", description: \"01678 - Bala\" },\r\n  {\r\n    code: \"01680\",\r\n    area: \"Isle of Mull - Craignure\",\r\n    description: \"01680 - Isle of Mull - Craignure\",\r\n  },\r\n  {\r\n    code: \"01681\",\r\n    area: \"Isle of Mull - Fionnphort\",\r\n    description: \"01681 - Isle of Mull - Fionnphort\",\r\n  },\r\n  { code: \"01683\", area: \"Moffat\", description: \"01683 - Moffat\" },\r\n  { code: \"01684\", area: \"Malvern\", description: \"01684 - Malvern\" },\r\n  {\r\n    code: \"01685\",\r\n    area: \"Merthyr Tydfil\",\r\n    description: \"01685 - Merthyr Tydfil\",\r\n  },\r\n  { code: \"01686\", area: \"Llanidloes\", description: \"016862 - Llanidloes\" },\r\n  { code: \"01686\", area: \"Abermule\", description: \"016865 - Abermule\" },\r\n  { code: \"01686\", area: \"Berriew\", description: \"016865 - Berriew\" },\r\n  {\r\n    code: \"01686\",\r\n    area: \"Caersws (Powys)\",\r\n    description: \"016865 - Caersws (Powys)\",\r\n  },\r\n  {\r\n    code: \"01686\",\r\n    area: \"Carno (Mid Wales)\",\r\n    description: \"01686 - Carno (Mid Wales)\",\r\n  },\r\n  { code: \"01686\", area: \"Kerry\", description: \"01686 - Kerry\" },\r\n  { code: \"01686\", area: \"Llangurig\", description: \"01686 - Llangurig\" },\r\n  { code: \"01686\", area: \"Montgomery\", description: \"01686 - Montgomery\" },\r\n  {\r\n    code: \"01686\",\r\n    area: \"Newtown (Powys)\",\r\n    description: \"01686 - Newtown (Powys)\",\r\n  },\r\n  { code: \"01686\", area: \"Trefeglwys\", description: \"01686 - Trefeglwys\" },\r\n  { code: \"01687\", area: \"Mallaig\", description: \"01687 - Mallaig\" },\r\n  {\r\n    code: \"01688\",\r\n    area: \"Isle of Mull - Tobermory\",\r\n    description: \"01688 - Isle of Mull - Tobermory\",\r\n  },\r\n  { code: \"01689\", area: \"Orpington\", description: \"01689 - Orpington\" },\r\n  { code: \"01690\", area: \"Betws-y-Coed\", description: \"01690 - Betws-y-Coed\" },\r\n  { code: \"01691\", area: \"Oswestry\", description: \"01691 - Oswestry\" },\r\n  {\r\n    code: \"01692\",\r\n    area: \"North Walsham\",\r\n    description: \"01692 - North Walsham\",\r\n  },\r\n  {\r\n    code: \"01694\",\r\n    area: \"Church Stretton\",\r\n    description: \"01694 - Church Stretton\",\r\n  },\r\n  { code: \"01695\", area: \"Skelmersdale\", description: \"01695 - Skelmersdale\" },\r\n  { code: \"01697\", area: \"Brampton\", description: \"01697 - Brampton\" },\r\n  { code: \"016973\", area: \"Wigton\", description: \"016973 - Wigton\" },\r\n  {\r\n    code: \"016974\",\r\n    area: \"Raughton Head\",\r\n    description: \"016974 - Raughton Head\",\r\n  },\r\n  { code: \"01698\", area: \"Motherwell\", description: \"01698 - Motherwell\" },\r\n  { code: \"01700\", area: \"Rothesay\", description: \"01700 - Rothesay\" },\r\n  {\r\n    code: \"01702\",\r\n    area: \"Southend-on-Sea\",\r\n    description: \"01702 - Southend-on-Sea\",\r\n  },\r\n  { code: \"01704\", area: \"Southport\", description: \"01704 - Southport\" },\r\n  { code: \"01706\", area: \"Rochdale\", description: \"01706 - Rochdale\" },\r\n  {\r\n    code: \"01707\",\r\n    area: \"Welwyn Garden City\",\r\n    description: \"01707 - Welwyn Garden City\",\r\n  },\r\n  { code: \"01708\", area: \"Romford\", description: \"01708 - Romford\" },\r\n  { code: \"01709\", area: \"Rotherham\", description: \"01709 - Rotherham\" },\r\n  {\r\n    code: \"01720\",\r\n    area: \"Isles of Scilly\",\r\n    description: \"01720 - Isles of Scilly\",\r\n  },\r\n  { code: \"01721\", area: \"Peebles\", description: \"01721 - Peebles\" },\r\n  { code: \"01722\", area: \"Salisbury\", description: \"01722 - Salisbury\" },\r\n  { code: \"01723\", area: \"Scarborough\", description: \"01723 - Scarborough\" },\r\n  { code: \"01724\", area: \"Scunthorpe\", description: \"01724 - Scunthorpe\" },\r\n  { code: \"01725\", area: \"Rockbourne\", description: \"01725 - Rockbourne\" },\r\n  { code: \"01726\", area: \"St Austell\", description: \"01726 - St Austell\" },\r\n  { code: \"01727\", area: \"St Albans\", description: \"01727 - St Albans\" },\r\n  { code: \"01728\", area: \"Saxmundham\", description: \"01728 - Saxmundham\" },\r\n  { code: \"01729\", area: \"Settle\", description: \"01729 - Settle\" },\r\n  { code: \"01730\", area: \"Petersfield\", description: \"01730 - Petersfield\" },\r\n  { code: \"01732\", area: \"Sevenoaks\", description: \"01732 - Sevenoaks\" },\r\n  { code: \"01733\", area: \"Peterborough\", description: \"01733 - Peterborough\" },\r\n  { code: \"01736\", area: \"Penzance\", description: \"01736 - Penzance\" },\r\n  { code: \"01737\", area: \"Redhill\", description: \"01737 - Redhill\" },\r\n  { code: \"01738\", area: \"Perth\", description: \"01738 - Perth\" },\r\n  { code: \"01740\", area: \"Sedgefield\", description: \"01740 - Sedgefield\" },\r\n  { code: \"01743\", area: \"Shrewsbury\", description: \"01743 - Shrewsbury\" },\r\n  { code: \"01744\", area: \"St Helens\", description: \"01744 - St Helens\" },\r\n  { code: \"01745\", area: \"Rhyl\", description: \"01745 - Rhyl\" },\r\n  { code: \"01746\", area: \"Bridgnorth\", description: \"01746 - Bridgnorth\" },\r\n  { code: \"01747\", area: \"Shaftesbury\", description: \"01747 - Shaftesbury\" },\r\n  { code: \"01748\", area: \"Richmond\", description: \"01748 - Richmond\" },\r\n  {\r\n    code: \"01749\",\r\n    area: \"Shepton Mallet\",\r\n    description: \"01749 - Shepton Mallet\",\r\n  },\r\n  { code: \"01750\", area: \"Selkirk\", description: \"01750 - Selkirk\" },\r\n  { code: \"01751\", area: \"Pickering\", description: \"01751 - Pickering\" },\r\n  { code: \"01752\", area: \"Plymouth\", description: \"01752 - Plymouth\" },\r\n  { code: \"01753\", area: \"Slough\", description: \"01753 - Slough\" },\r\n  { code: \"01754\", area: \"Skegness\", description: \"01754 - Skegness\" },\r\n  { code: \"01756\", area: \"Skipton\", description: \"01756 - Skipton\" },\r\n  { code: \"01757\", area: \"Selby\", description: \"01757 - Selby\" },\r\n  { code: \"01758\", area: \"Pwllheli\", description: \"01758 - Pwllheli\" },\r\n  { code: \"01759\", area: \"Pocklington\", description: \"01759 - Pocklington\" },\r\n  { code: \"01760\", area: \"Swaffham\", description: \"01760 - Swaffham\" },\r\n  { code: \"01761\", area: \"Temple Cloud\", description: \"01761 - Temple Cloud\" },\r\n  { code: \"01763\", area: \"Royston\", description: \"01763 - Royston\" },\r\n  { code: \"01764\", area: \"Crieff\", description: \"01764 - Crieff\" },\r\n  { code: \"01765\", area: \"Ripon\", description: \"01765 - Ripon\" },\r\n  { code: \"01766\", area: \"Porthmadog\", description: \"01766 - Porthmadog\" },\r\n  { code: \"01767\", area: \"Sandy\", description: \"01767 - Sandy\" },\r\n  { code: \"01768\", area: \"Penrith\", description: \"01768 - Penrith\" },\r\n  { code: \"017683\", area: \"Appleby\", description: \"017683 - Appleby\" },\r\n  {\r\n    code: \"017684\",\r\n    area: \"Pooley Bridge\",\r\n    description: \"017684 - Pooley Bridge\",\r\n  },\r\n  { code: \"017687\", area: \"Keswick\", description: \"017687 - Keswick\" },\r\n  { code: \"01769\", area: \"South Molton\", description: \"01769 - South Molton\" },\r\n  {\r\n    code: \"01770\",\r\n    area: \"Isle of Arran\",\r\n    description: \"01770 - Isle of Arran\",\r\n  },\r\n  { code: \"01771\", area: \"Maud\", description: \"01771 - Maud\" },\r\n  { code: \"01772\", area: \"Preston\", description: \"01772 - Preston\" },\r\n  { code: \"01773\", area: \"Ripley\", description: \"01773 - Ripley\" },\r\n  { code: \"01775\", area: \"Spalding\", description: \"01775 - Spalding\" },\r\n  { code: \"01776\", area: \"Stranraer\", description: \"01776 - Stranraer\" },\r\n  { code: \"01777\", area: \"Retford\", description: \"01777 - Retford\" },\r\n  { code: \"01778\", area: \"Bourne\", description: \"01778 - Bourne\" },\r\n  { code: \"01779\", area: \"Peterhead\", description: \"01779 - Peterhead\" },\r\n  { code: \"01780\", area: \"Stamford\", description: \"01780 - Stamford\" },\r\n  {\r\n    code: \"01782\",\r\n    area: \"Stoke-on-Trent\",\r\n    description: \"01782 - Stoke-on-Trent\",\r\n  },\r\n  { code: \"01784\", area: \"Staines\", description: \"01784 - Staines\" },\r\n  { code: \"01785\", area: \"Stafford\", description: \"01785 - Stafford\" },\r\n  { code: \"01786\", area: \"Stirling\", description: \"01786 - Stirling\" },\r\n  { code: \"01787\", area: \"Sudbury\", description: \"01787 - Sudbury\" },\r\n  { code: \"01788\", area: \"Rugby\", description: \"01788 - Rugby\" },\r\n  {\r\n    code: \"01789\",\r\n    area: \"Stratford-upon-Avon\",\r\n    description: \"01789 - Stratford-upon-Avon\",\r\n  },\r\n  { code: \"01790\", area: \"Spilsby\", description: \"01790 - Spilsby\" },\r\n  { code: \"01792\", area: \"Swansea\", description: \"01792 - Swansea\" },\r\n  { code: \"01793\", area: \"Swindon\", description: \"01793 - Swindon\" },\r\n  { code: \"01794\", area: \"Romsey\", description: \"01794 - Romsey\" },\r\n  {\r\n    code: \"01795\",\r\n    area: \"Sittingbourne\",\r\n    description: \"01795 - Sittingbourne\",\r\n  },\r\n  { code: \"01796\", area: \"Pitlochry\", description: \"01796 - Pitlochry\" },\r\n  { code: \"01797\", area: \"Rye\", description: \"01797 - Rye\" },\r\n  { code: \"01798\", area: \"Pulborough\", description: \"01798 - Pulborough\" },\r\n  {\r\n    code: \"01799\",\r\n    area: \"Saffron Walden\",\r\n    description: \"01799 - Saffron Walden\",\r\n  },\r\n  { code: \"01803\", area: \"Torquay\", description: \"01803 - Torquay\" },\r\n  { code: \"01805\", area: \"Torrington\", description: \"01805 - Torrington\" },\r\n  { code: \"01806\", area: \"Shetland\", description: \"01806 - Shetland\" },\r\n  {\r\n    code: \"01807\",\r\n    area: \"Ballindalloch\",\r\n    description: \"01807 - Ballindalloch\",\r\n  },\r\n  { code: \"01808\", area: \"Tomatin\", description: \"01808 - Tomatin\" },\r\n  { code: \"01809\", area: \"Tomdoun\", description: \"01809 - Tomdoun\" },\r\n  { code: \"01821\", area: \"Kinrossie\", description: \"01821 - Kinrossie\" },\r\n  { code: \"01822\", area: \"Tavistock\", description: \"01822 - Tavistock\" },\r\n  { code: \"01823\", area: \"Taunton\", description: \"01823 - Taunton\" },\r\n  { code: \"01824\", area: \"Ruthin\", description: \"01824 - Ruthin\" },\r\n  { code: \"01825\", area: \"Uckfield\", description: \"01825 - Uckfield\" },\r\n  { code: \"01827\", area: \"Tamworth\", description: \"01827 - Tamworth\" },\r\n  { code: \"01828\", area: \"Coupar Angus\", description: \"01828 - Coupar Angus\" },\r\n  { code: \"01829\", area: \"Tarporley\", description: \"01829 - Tarporley\" },\r\n  {\r\n    code: \"01830\",\r\n    area: \"Kirkwhelpington\",\r\n    description: \"01830 - Kirkwhelpington\",\r\n  },\r\n  { code: \"01832\", area: \"Clopton\", description: \"01832 - Clopton\" },\r\n  {\r\n    code: \"01833\",\r\n    area: \"Barnard Castle\",\r\n    description: \"01833 - Barnard Castle\",\r\n  },\r\n  { code: \"01834\", area: \"Narberth\", description: \"01834 - Narberth\" },\r\n  { code: \"01835\", area: \"St Boswells\", description: \"01835 - St Boswells\" },\r\n  { code: \"01837\", area: \"Okehampton\", description: \"01837 - Okehampton\" },\r\n  { code: \"01838\", area: \"Dalmally\", description: \"01838 - Dalmally\" },\r\n  { code: \"01840\", area: \"Camelford\", description: \"01840 - Camelford\" },\r\n  { code: \"01841\", area: \"Newquay\", description: \"01841 - Newquay\" },\r\n  { code: \"01842\", area: \"Thetford\", description: \"01842 - Thetford\" },\r\n  { code: \"01843\", area: \"Thanet\", description: \"01843 - Thanet\" },\r\n  { code: \"01844\", area: \"Thame\", description: \"01844 - Thame\" },\r\n  { code: \"01845\", area: \"Thirsk\", description: \"01845 - Thirsk\" },\r\n  { code: \"01847\", area: \"Tongue\", description: \"018477 - Tongue\" },\r\n  { code: \"01847\", area: \"Thurso\", description: \"018478 - Thurso\" },\r\n  { code: \"01848\", area: \"Thornhill\", description: \"01848 - Thornhill\" },\r\n  {\r\n    code: \"01851\",\r\n    area: \"Great Bernera\",\r\n    description: \"01851 - Great Bernera\",\r\n  },\r\n  { code: \"01851\", area: \"Stornoway\", description: \"01851 - Stornoway\" },\r\n  { code: \"01852\", area: \"Kilmelford\", description: \"01852 - Kilmelford\" },\r\n  { code: \"01854\", area: \"Ullapool\", description: \"01854 - Ullapool\" },\r\n  { code: \"01855\", area: \"Ballachulish\", description: \"01855 - Ballachulish\" },\r\n  { code: \"01856\", area: \"Orkney\", description: \"01856 - Orkney\" },\r\n  { code: \"01857\", area: \"Sanday\", description: \"01857 - Sanday\" },\r\n  {\r\n    code: \"01858\",\r\n    area: \"Market Harborough\",\r\n    description: \"01858 - Market Harborough\",\r\n  },\r\n  { code: \"01859\", area: \"Harris\", description: \"01859 - Harris\" },\r\n  { code: \"01862\", area: \"Tain\", description: \"01862 - Tain\" },\r\n  { code: \"01863\", area: \"Ardgay\", description: \"01863 - Ardgay\" },\r\n  { code: \"01864\", area: \"Abington\", description: \"01864 - Abington\" },\r\n  { code: \"01865\", area: \"Oxford\", description: \"01865 - Oxford\" },\r\n  { code: \"01866\", area: \"Kilchrenan\", description: \"01866 - Kilchrenan\" },\r\n  { code: \"01869\", area: \"Bicester\", description: \"01869 - Bicester\" },\r\n  {\r\n    code: \"01870\",\r\n    area: \"Isle of Benbecula\",\r\n    description: \"01870 - Isle of Benbecula\",\r\n  },\r\n  { code: \"01871\", area: \"Castlebay\", description: \"01871 - Castlebay\" },\r\n  { code: \"01872\", area: \"Truro\", description: \"01872 - Truro\" },\r\n  { code: \"01873\", area: \"Abergavenny\", description: \"01873 - Abergavenny\" },\r\n  { code: \"01874\", area: \"Brecon\", description: \"01874 - Brecon\" },\r\n  { code: \"01875\", area: \"Tranent\", description: \"01875 - Tranent\" },\r\n  { code: \"01876\", area: \"Lochmaddy\", description: \"01876 - Lochmaddy\" },\r\n  { code: \"01877\", area: \"Callander\", description: \"01877 - Callander\" },\r\n  { code: \"01878\", area: \"Lochboisdale\", description: \"01878 - Lochboisdale\" },\r\n  { code: \"01879\", area: \"Scarinish\", description: \"01879 - Scarinish\" },\r\n  { code: \"01880\", area: \"Tarbert\", description: \"01880 - Tarbert\" },\r\n  {\r\n    code: \"01882\",\r\n    area: \"Kinloch Rannoch\",\r\n    description: \"01882 - Kinloch Rannoch\",\r\n  },\r\n  { code: \"01883\", area: \"Caterham\", description: \"01883 - Caterham\" },\r\n  { code: \"01884\", area: \"Tiverton\", description: \"01884 - Tiverton\" },\r\n  { code: \"01885\", area: \"Pencombe\", description: \"01885 - Pencombe\" },\r\n  { code: \"01886\", area: \"Bromyard\", description: \"01886 - Bromyard\" },\r\n  { code: \"01887\", area: \"Aberfeldy\", description: \"01887 - Aberfeldy\" },\r\n  { code: \"01888\", area: \"Turriff\", description: \"01888 - Turriff\" },\r\n  { code: \"01889\", area: \"Rugeley\", description: \"01889 - Rugeley\" },\r\n  { code: \"01890\", area: \"Coldstream\", description: \"01890 - Coldstream\" },\r\n  { code: \"01890\", area: \"Ayton\", description: \"018905 - Ayton\" },\r\n  {\r\n    code: \"01892\",\r\n    area: \"Tunbridge Wells\",\r\n    description: \"01892 - Tunbridge Wells\",\r\n  },\r\n  { code: \"01895\", area: \"Uxbridge\", description: \"01895 - Uxbridge\" },\r\n  { code: \"01896\", area: \"Galashiels\", description: \"01896 - Galashiels\" },\r\n  { code: \"01899\", area: \"Biggar\", description: \"01899 - Biggar\" },\r\n  { code: \"01900\", area: \"Workington\", description: \"01900 - Workington\" },\r\n  {\r\n    code: \"01902\",\r\n    area: \"Wolverhampton\",\r\n    description: \"01902 - Wolverhampton\",\r\n  },\r\n  { code: \"01903\", area: \"Worthing\", description: \"01903 - Worthing\" },\r\n  { code: \"01904\", area: \"York\", description: \"01904 - York\" },\r\n  { code: \"01905\", area: \"Worcester\", description: \"01905 - Worcester\" },\r\n  {\r\n    code: \"01908\",\r\n    area: \"Milton Keynes\",\r\n    description: \"01908 - Milton Keynes\",\r\n  },\r\n  { code: \"01909\", area: \"Worksop\", description: \"01909 - Worksop\" },\r\n  { code: \"01912\", area: \"Tyneside\", description: \"01912 - Tyneside\" },\r\n  { code: \"01913\", area: \"Durham\", description: \"01913 - Durham\" },\r\n  { code: \"01914\", area: \"Tyneside\", description: \"01914 - Tyneside\" },\r\n  { code: \"01915\", area: \"Sunderland\", description: \"01915 - Sunderland\" },\r\n  { code: \"01916\", area: \"Tyneside\", description: \"01916 - Tyneside\" },\r\n  { code: \"01917\", area: \"Sunderland\", description: \"01917 - Sunderland\" },\r\n  { code: \"01918\", area: \"Tyneside\", description: \"01918 - Tyneside\" },\r\n  { code: \"01919\", area: \"Durham\", description: \"01919 - Durham\" },\r\n  { code: \"01920\", area: \"Ware\", description: \"01920 - Ware\" },\r\n  { code: \"01922\", area: \"Walsall\", description: \"01922 - Walsall\" },\r\n  { code: \"01923\", area: \"Watford\", description: \"01923 - Watford\" },\r\n  { code: \"01924\", area: \"Wakefield\", description: \"01924 - Wakefield\" },\r\n  { code: \"01925\", area: \"Warrington\", description: \"01925 - Warrington\" },\r\n  { code: \"01926\", area: \"Warwick\", description: \"01926 - Warwick\" },\r\n  { code: \"01928\", area: \"Runcorn\", description: \"01928 - Runcorn\" },\r\n  { code: \"01929\", area: \"Wareham\", description: \"01929 - Wareham\" },\r\n  { code: \"01931\", area: \"Shap\", description: \"01931 - Shap\" },\r\n  { code: \"01932\", area: \"Weybridge\", description: \"01932 - Weybridge\" },\r\n  {\r\n    code: \"01933\",\r\n    area: \"Wellingborough\",\r\n    description: \"01933 - Wellingborough\",\r\n  },\r\n  {\r\n    code: \"01934\",\r\n    area: \"Weston-super-Mare\",\r\n    description: \"01934 - Weston-super-Mare\",\r\n  },\r\n  { code: \"01935\", area: \"Yeovil\", description: \"01935 - Yeovil\" },\r\n  { code: \"01937\", area: \"Wetherby\", description: \"01937 - Wetherby\" },\r\n  { code: \"01938\", area: \"Welshpool\", description: \"01938 - Welshpool\" },\r\n  { code: \"01939\", area: \"Wem\", description: \"01939 - Wem\" },\r\n  { code: \"01942\", area: \"Wigan\", description: \"01942 - Wigan\" },\r\n  { code: \"01943\", area: \"Guiseley\", description: \"01943 - Guiseley\" },\r\n  {\r\n    code: \"01944\",\r\n    area: \"West Heslerton\",\r\n    description: \"01944 - West Heslerton\",\r\n  },\r\n  { code: \"01945\", area: \"Wisbech\", description: \"01945 - Wisbech\" },\r\n  { code: \"01946\", area: \"Whitehaven\", description: \"01946 - Whitehaven\" },\r\n  { code: \"01947\", area: \"Whitby\", description: \"01947 - Whitby\" },\r\n  { code: \"01948\", area: \"Whitchurch\", description: \"01948 - Whitchurch\" },\r\n  { code: \"01949\", area: \"Whatton\", description: \"01949 - Whatton\" },\r\n  { code: \"01950\", area: \"Sandwick\", description: \"01950 - Sandwick\" },\r\n  { code: \"01951\", area: \"Colonsay\", description: \"01951 - Colonsay\" },\r\n  { code: \"01952\", area: \"Telford\", description: \"01952 - Telford\" },\r\n  { code: \"01953\", area: \"Wymondham\", description: \"01953 - Wymondham\" },\r\n  { code: \"01954\", area: \"Madingley\", description: \"01954 - Madingley\" },\r\n  { code: \"01955\", area: \"Wick\", description: \"01955 - Wick\" },\r\n  { code: \"01957\", area: \"Mid Yell\", description: \"01957 - Mid Yell\" },\r\n  { code: \"01959\", area: \"Westerham\", description: \"01959 - Westerham\" },\r\n  { code: \"01962\", area: \"Winchester\", description: \"01962 - Winchester\" },\r\n  { code: \"01963\", area: \"Wincanton\", description: \"01963 - Wincanton\" },\r\n  { code: \"01964\", area: \"Hornsea\", description: \"01964 - Hornsea\" },\r\n  { code: \"01964\", area: \"Withernsea\", description: \"01964 - Withernsea\" },\r\n  { code: \"01967\", area: \"Strontian\", description: \"01967 - Strontian\" },\r\n  { code: \"01968\", area: \"Penicuik\", description: \"01968 - Penicuik\" },\r\n  { code: \"01969\", area: \"Leyburn\", description: \"01969 - Leyburn\" },\r\n  { code: \"01970\", area: \"Aberystwyth\", description: \"01970 - Aberystwyth\" },\r\n  {\r\n    code: \"01970\",\r\n    area: \"Talybont (Aberystwyth)\",\r\n    description: \"01970 - Talybont (Aberystwyth)\",\r\n  },\r\n  { code: \"01971\", area: \"Scourie\", description: \"01971 - Scourie\" },\r\n  {\r\n    code: \"01972\",\r\n    area: \"Glenborrodale\",\r\n    description: \"01972 - Glenborrodale\",\r\n  },\r\n  { code: \"01974\", area: \"Llanon\", description: \"01974 - Llanon\" },\r\n  { code: \"01975\", area: \"Alford\", description: \"01975 - Alford\" },\r\n  { code: \"01977\", area: \"Pontefract\", description: \"01977 - Pontefract\" },\r\n  { code: \"01978\", area: \"Wrexham\", description: \"01978 - Wrexham\" },\r\n  { code: \"01980\", area: \"Amesbury\", description: \"01980 - Amesbury\" },\r\n  { code: \"01981\", area: \"Wormbridge\", description: \"01981 - Wormbridge\" },\r\n  { code: \"01982\", area: \"Builth Wells\", description: \"01982 - Builth Wells\" },\r\n  {\r\n    code: \"01983\",\r\n    area: \"Isle of Wight\",\r\n    description: \"01983 - Isle of Wight\",\r\n  },\r\n  { code: \"01984\", area: \"Watchet\", description: \"01984 - Watchet\" },\r\n  { code: \"01985\", area: \"Warminster\", description: \"01985 - Warminster\" },\r\n  { code: \"01986\", area: \"Bungay\", description: \"01986 - Bungay\" },\r\n  { code: \"01987\", area: \"Ebbsfleet\", description: \"01987 - Ebbsfleet\" },\r\n  { code: \"01988\", area: \"Wigtown\", description: \"01988 - Wigtown\" },\r\n  { code: \"01989\", area: \"Ross-on-Wye\", description: \"01989 - Ross-on-Wye\" },\r\n  { code: \"01992\", area: \"Lea Valley\", description: \"01992 - Lea Valley\" },\r\n  { code: \"01993\", area: \"Witney\", description: \"01993 - Witney\" },\r\n  { code: \"01994\", area: \"St Clears\", description: \"01994 - St Clears\" },\r\n  { code: \"01995\", area: \"Garstang\", description: \"01995 - Garstang\" },\r\n  { code: \"01997\", area: \"Strathpeffer\", description: \"01997 - Strathpeffer\" },\r\n  { code: \"0207\", area: \"London\", description: \"0207 - London\" },\r\n  { code: \"02381\", area: \"Southampton\", description: \"02381 - Southampton\" },\r\n  { code: \"02393\", area: \"Portsmouth\", description: \"02393 - Portsmouth\" },\r\n  { code: \"02477\", area: \"Coventry\", description: \"02477 - Coventry\" },\r\n  { code: \"02895\", area: \"Belfast\", description: \"02895 - Belfast\" },\r\n  { code: \"02921\", area: \"Cardiff\", description: \"02921 - Cardiff\" },\r\n].sort((a, b) => {\r\n  if (a.area < b.area) return -1;\r\n  if (a.area > b.area) return 1;\r\n\r\n  return 0;\r\n});\r\n\r\nexport const numbersTemplate = {\r\n  defaultLocalPrefix: \"0161\",\r\n  localPrefixes: localPrefixes,\r\n  localCategories: [\"Silver\", \"Gold\", \"Platinum\"],\r\n  defaultNationalPrefix: \"0333\",\r\n  nationalPrefixes: [\r\n    { code: \"0330\", description: \"0330\" },\r\n    { code: \"0333\", description: \"0333\" },\r\n    { code: \"0843\", description: \"0843\" },\r\n    { code: \"0844\", description: \"0844\" },\r\n    { code: \"0845\", description: \"0845\" },\r\n    { code: \"0870\", description: \"0870\" },\r\n  ],\r\n  nationalCategories: [\"Standard\", \"Gold\", \"Platinum\"],\r\n  defaultFreephonePrefix: \"0800\",\r\n  freephonePrefixes: [{ code: \"0800\", description: \"0800\" }],\r\n  freephoneCategories: [\"Gold\", \"Platinum\"],\r\n};\r\n","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  EventEmitter,\r\n} from \"@angular/core\";\r\nimport { R247AreaSearchModalComponent } from \"../area-search/area-search-modal.component\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { R247CategoriesModalComponent } from \"../categories-modal/categories-modal.component\";\r\n\r\n@Component({\r\n  selector: \"r247-number-search\",\r\n  templateUrl: \"./number-search.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247NumberSearchComponent {\r\n  constructor(private modalService: NgbModal) {}\r\n\r\n  @Input() prefix: string = \"\";\r\n  @Input() prefixes = [];\r\n\r\n  @Input() category: string = \"\";\r\n  @Input() categories = [];\r\n\r\n  @Input() selectedNumber = \"\";\r\n\r\n  @Output() numberSelected = new EventEmitter();\r\n  @Output() numbersSearched = new EventEmitter();\r\n\r\n  currentPage = 1;\r\n  @Output() previousPage = new EventEmitter<number>();\r\n  @Output() nextPage = new EventEmitter<number>();\r\n\r\n  @Input() numbers: [];\r\n  @Input() totalNumbers: number = 0;\r\n  @Input() searchingNumbers = true;\r\n\r\n  get selectedPrefixDisplay() {\r\n    let items = this.prefixes.filter((x) => x.code === this.prefix);\r\n\r\n    return items.length >= 1 ? items[0].description : \"No Prefix Selected\";\r\n  }\r\n\r\n  get totalPages() {\r\n    return Math.round(this.totalNumbers / 5);\r\n  }\r\n\r\n  searchNumbers() {\r\n    this.currentPage = 1;\r\n    this.numbersSearched.emit({\r\n      category: this.category,\r\n      prefix: this.prefix,\r\n    });\r\n  }\r\n\r\n  selectNumber(number: any) {\r\n    this.selectedNumber = `${number.prefix} ${number.range} ${number.number}`;\r\n\r\n    this.numberSelected.emit({\r\n      category: this.category,\r\n      prefix: number.prefix,\r\n      range: number.range,\r\n      number: number.number,\r\n    });\r\n  }\r\n\r\n  showSearchAreaModal() {\r\n    var modal = this.modalService.open(R247AreaSearchModalComponent, {\r\n      scrollable: true,\r\n      size: \"lg\",\r\n    });\r\n\r\n    modal.componentInstance.prefix = this.prefix;\r\n\r\n    modal.result.then((x) => {\r\n      this.prefix = x.code;\r\n      this.searchNumbers();\r\n    });\r\n\r\n    modal.componentInstance.prefixes = this.prefixes;\r\n  }\r\n\r\n  showCategoriesModal() {\r\n    var modal = this.modalService.open(R247CategoriesModalComponent, {\r\n      scrollable: true,\r\n      size: \"lg\",\r\n    });\r\n\r\n    modal.componentInstance.category = this.category;\r\n\r\n    modal.result.then((x) => {\r\n      this.category = x;\r\n      this.searchNumbers();\r\n    });\r\n\r\n    modal.componentInstance.categories = this.categories;\r\n  }\r\n\r\n  onNextPage() {\r\n    this.currentPage += 1;\r\n    this.nextPage.emit(this.currentPage);\r\n  }\r\n\r\n  onPreviousPage() {\r\n    this.currentPage -= 1;\r\n    this.nextPage.emit(this.currentPage);\r\n  }\r\n}\r\n","<div class=\"pt-0\">\r\n      <div class=\"my-1\">\r\n          <button (click)=\"showSearchAreaModal()\" type=\"button\" class=\"list-group-item list-group-item-action d-flex justify-content-between align-items-center\">\r\n            <span>{{selectedPrefixDisplay}}</span>\r\n            <span>\r\n            <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" style=\"height: 12px; width: 12px; margin-top: -2;\">\r\n              <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m8.25 4.5 7.5 7.5-7.5 7.5\" />\r\n            </svg>\r\n          </span>\r\n          </button>\r\n      </div>\r\n      <div class=\"my-1\">\r\n        <button (click)=\"showCategoriesModal()\" type=\"button\" class=\"list-group-item list-group-item-action d-flex justify-content-between align-items-center\">\r\n          <span>{{category}}</span>\r\n          <span>\r\n          <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" style=\"height: 12px; width: 12px; margin-top: -2;\">\r\n            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m8.25 4.5 7.5 7.5-7.5 7.5\" />\r\n          </svg>\r\n        </span>\r\n        </button>\r\n    </div>\r\n      <div>\r\n        <h2 class=\"px-2 py-4 text-center\" *ngIf=\"searchingNumbers\">Searching...</h2>\r\n        <h2 class=\"px-2 py-4 text-center\" *ngIf=\"!searchingNumbers && (!numbers ||(numbers && numbers.length === 0))\">No Numbers Found</h2>\r\n      <div *ngIf=\"!searchingNumbers && numbers?.length > 0\" class=\"list-group list-group-flush numbers-list\">\r\n        <div\r\n          class=\"list-group-item list-group-item-action phone-number-item\" \r\n          *ngFor=\"let number of numbers\"\r\n          (click)=\"selectNumber(number)\"\r\n          [ngClass]=\"{'selected-number': number.prefix + ' ' + number.range + ' ' + number.number === selectedNumber}\" >\r\n          {{number.prefix}} {{number.range}} {{number.number}}\r\n        </div>\r\n      </div>\r\n      <div class=\"d-flex justify-content-between mt-1 px-2\">\r\n        <button class=\"btn btn-primary\" [attr.disabled]=\"currentPage <= 1 ? true : null\" (click)=\"onPreviousPage()\">Prev</button>\r\n        <div class=\"mt-1\">\r\n          Page {{currentPage}} of {{totalPages}}\r\n        </div>\r\n        <button class=\"btn btn-primary\" [attr.disabled]=\"currentPage >= this.totalPages ? true : null\" (click)=\"onNextPage()\">Next</button>\r\n      </div>\r\n      </div>\r\n    </div>","import { Component, ChangeDetectionStrategy, Output, EventEmitter, Input } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'r247-stepper-buttons',\r\n  templateUrl: './stepper-buttons.component.html',\r\n  changeDetection: ChangeDetectionStrategy.Default\r\n})\r\n\r\nexport class R247StepperButtonsComponent {\r\n  constructor() { }\r\n\r\n  @Output() previousStep = new EventEmitter();\r\n  @Output() nextStep = new EventEmitter();\r\n\r\n  @Input() showPreviousButton = true;\r\n  @Input() nextCaption = 'Next';\r\n}","<div class=\"row mt-2 mb-2 d-md-none\">\r\n  <div class=\"col-6\">\r\n    <button *ngIf=\"showPreviousButton\" class=\"btn btn-block btn-secondary float-right\" (click)=\"previousStep.emit()\">Previous</button>\r\n  </div>\r\n  <div [ngClass]=\"showPreviousButton ? 'col-6' : 'col-12'\">\r\n    <button class=\"btn btn-block btn-primary \" (click)=\"nextStep.emit()\">{{nextCaption}}</button>\r\n  </div>\r\n</div>\r\n<div class=\"row mt-2 mb-2 d-none d-md-block\">\r\n  <div class=\"col-12\">\r\n    <a routerLink=\"../../\" class=\"btn btn-secondary\">Exit Registration</a>\r\n    <button class=\"btn btn-primary float-right ml-1\" (click)=\"nextStep.emit()\">{{nextCaption}}</button>\r\n    <button *ngIf=\"showPreviousButton\" class=\"btn btn-secondary float-right\" (click)=\"previousStep.emit()\">Previous</button>\r\n  </div>\r\n</div>","\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { R247RegisterComponent, R247RegisterNumberChooserComponent } from './screens';\r\nimport { R247NumberChooserComponent } from './components';\r\nimport { R247RegistrationComponent } from './registration.component';\r\n\r\nconst routes: Routes = [\r\n    {\r\n        path: '',\r\n        component: R247RegistrationComponent,\r\n        children: [\r\n            {\r\n                path: '',\r\n                component: R247RegisterNumberChooserComponent,\r\n            },\r\n            {\r\n                path: 'number',\r\n                component: R247RegisterNumberChooserComponent,\r\n            },\r\n            {\r\n                path: 'account',\r\n                component: R247RegisterComponent,\r\n            },\r\n        ],\r\n    },\r\n    {\r\n        path: 'choose-number',\r\n        component: R247NumberChooserComponent\r\n    }];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule],\r\n})\r\nexport class RegistrationRoutingModule {\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Location } from \"@angular/common\";\r\nimport { FranchiseService } from \"../@core/backend/receptionist/services/franchise-service\";\r\n\r\n@Component({\r\n  selector: \"r247-registration\",\r\n  template: `\r\n    <r247-nav-bar [showAccountLink]=\"false\"> </r247-nav-bar>\r\n    <div class=\"container-fluid\">\r\n      <div class=\"row\">\r\n        <div class=\"col-12\">\r\n          <router-outlet></router-outlet>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  `,\r\n})\r\nexport class R247RegistrationComponent implements OnInit {\r\n  constructor(\r\n    private franchiseService: FranchiseService,\r\n    protected location: Location\r\n  ) {}\r\n\r\n  resellerName = \"\";\r\n  logoImage = \"\";\r\n  resellerWebsite = \"#\";\r\n\r\n  ngOnInit(): void {\r\n    this.franchiseService.get().subscribe((config) => {\r\n      this.resellerName = config.name;\r\n      this.logoImage = config.logo;\r\n      this.resellerWebsite = config.website;\r\n    });\r\n  }\r\n\r\n  back() {\r\n    this.location.back();\r\n    return false;\r\n  }\r\n}\r\n","import { NgModule, ModuleWithProviders } from \"@angular/core\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\nimport { RegistrationRoutingModule } from \"./registration-routing.module\";\r\nimport { ComponentsModule } from \"../@components/components.module\";\r\nimport { PhoneNumbersService } from \"../@core/backend/receptionist/services/phone-number.service\";\r\nimport { HttpService } from \"../@core/backend/common/api/http.service\";\r\nimport { SignUpService } from \"../@core/backend/receptionist/services/sign-up-service\";\r\nimport {\r\n  R247RegisterPaymentScreenComponent,\r\n  R247RegisterReceptionScreenComponent,\r\n  R247RegisterAccountScreenComponent,\r\n  R247RegistrationSuccessComponent,\r\n  R247RegistrationPurchaseNumberFailComponent,\r\n  R247RegisterNumberChooserComponent,\r\n  R247RegisterComponent,\r\n  R247TermsAndConditionsComponent,\r\n} from \"./screens/\";\r\n\r\nimport {\r\n  R247StepperButtonsComponent,\r\n  R247NumberChooserComponent,\r\n} from \"./components\";\r\nimport { R247RegistrationComponent } from \"./registration.component\";\r\nimport { R247NumberListCardComponent } from \"./components/number-chooser/number-list-card/number-list-card.component\";\r\nimport { PricingService } from \"../@core/backend/receptionist/services/pricing-service\";\r\nimport { R247CostBreakdownComponent } from \"./components/cost-breakdown/cost-breakdown.component\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\nimport { R247NumberSearchComponent } from \"./components/number-chooser/number-search/number-search.component\";\r\nimport { R247AreaSearchModalComponent } from \"./components/number-chooser/area-search/area-search-modal.component\";\r\nimport { R247MobileNumberChooserComponent } from \"./components/number-chooser/mobile-number-chooser.component\";\r\nimport { R247DesktopNumberChooserComponent } from \"./components/number-chooser/desktop-number-chooser.component\";\r\nimport { R247CategoriesModalComponent } from \"./components/number-chooser/categories-modal/categories-modal.component\";\r\n\r\nconst COMPONENTS = [\r\n  R247RegistrationComponent,\r\n  R247RegisterComponent,\r\n  R247RegisterAccountScreenComponent,\r\n  R247TermsAndConditionsComponent,\r\n  R247RegisterReceptionScreenComponent,\r\n  R247RegisterPaymentScreenComponent,\r\n  R247RegistrationSuccessComponent,\r\n  R247RegistrationPurchaseNumberFailComponent,\r\n  R247StepperButtonsComponent,\r\n  R247RegisterNumberChooserComponent,\r\n  R247DesktopNumberChooserComponent,\r\n  R247MobileNumberChooserComponent,\r\n  R247NumberSearchComponent,\r\n  R247CategoriesModalComponent,\r\n  R247AreaSearchModalComponent,\r\n  R247NumberChooserComponent,\r\n  R247NumberListCardComponent,\r\n  R247CostBreakdownComponent,\r\n];\r\n\r\nconst EXPORT_COMPONENTS = [R247RegisterNumberChooserComponent];\r\n\r\n@NgModule({\r\n  declarations: [...COMPONENTS],\r\n  imports: [\r\n    RegistrationRoutingModule,\r\n    ReactiveFormsModule,\r\n    CommonModule,\r\n    FormsModule,\r\n    ComponentsModule,\r\n    NgbModule,\r\n    NgSelectModule,\r\n  ],\r\n  exports: [...COMPONENTS],\r\n  providers: [PhoneNumbersService, PricingService, SignUpService, HttpService],\r\n})\r\nexport class RegistrationModule {\r\n  static forRoot(): ModuleWithProviders<RegistrationModule> {\r\n    return {\r\n      ngModule: RegistrationModule,\r\n      providers: [],\r\n    };\r\n  }\r\n}\r\n","export * from './register/register.component';\r\nexport * from './terms-and-conditions/terms-and-conditions.component';\r\nexport * from './register-account-screen/register-account-sccreen';\r\nexport * from './register-reception-screen/register-reception-screen.component';\r\nexport * from './registration-success/registration-success.component';\r\nexport * from '../../@components/processing-loader/processing-loader.component';\r\nexport * from './registration-purchase-number-fail/registration-purchase-number-fail.component';\r\nexport * from './register-number-chooser/register-number-chooser.component';\r\nexport * from './register-payment-screen/register-payment-screen.component';","import {\r\n  Component,\r\n  ChangeDetectionStrategy,\r\n  OnInit,\r\n  Output,\r\n  EventEmitter,\r\n  Input,\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { AddressFormBuilder } from \"../../../@components/address-picker/address-form-builder\";\r\nimport { AddressValuesExtractor } from \"../../../@core/utils/address-values-extractor\";\r\nimport {\r\n  EMAIL_PATTERN,\r\n  PHONE_NUMBER_PATTERN,\r\n} from \"../../../@core/utils/constants\";\r\nimport { of } from \"rxjs\";\r\nimport { FranchiseService } from \"../../../@core/backend/receptionist/services/franchise-service\";\r\nimport { SignUpService } from \"../../../@core/backend/receptionist/services/sign-up-service\";\r\n\r\n@Component({\r\n  selector: \"r247-register-account-screen\",\r\n  templateUrl: \"./register-account-screen.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247RegisterAccountScreenComponent implements OnInit {\r\n  constructor(\r\n    private fb: FormBuilder,\r\n    private addressFb: AddressFormBuilder,\r\n    private addressValuesExtractor: AddressValuesExtractor,\r\n    private franchiseService: FranchiseService,\r\n    private signUpService: SignUpService\r\n  ) {}\r\n\r\n  get clientName() {\r\n    return this.accountStep.get(\"clientName\");\r\n  }\r\n  get clientContactNumber() {\r\n    return this.accountStep.get(\"clientContactNumber\");\r\n  }\r\n  get name() {\r\n    return this.accountStep.get(\"name\");\r\n  }\r\n  get email() {\r\n    return this.accountStep.get(\"email\");\r\n  }\r\n  get password() {\r\n    return this.accountStep.get(\"password\");\r\n  }\r\n  get companyEmail() {\r\n    return this.accountStep.get(\"email\");\r\n  }\r\n\r\n  get signUpCode() {\r\n    return this.accountStep.get(\"signUpCode\");\r\n  }\r\n\r\n  get franchisee() {\r\n    return this.accountStep.get(\"franchisee\");\r\n  }\r\n\r\n  accountStep: FormGroup;\r\n  address: FormGroup;\r\n\r\n  addressSearchState = \"search\";\r\n\r\n  franchiseeCaption$ = of(\"Franchisee\");\r\n\r\n  allowFranchiseeSelection: boolean = true;\r\n\r\n  isFranchisor$ = of(false);\r\n  franchisees = [];\r\n  selectedFranchisee = {};\r\n\r\n  emailValidator = [Validators.pattern(EMAIL_PATTERN), Validators.required];\r\n  phoneNumberValidator = [\r\n    Validators.pattern(PHONE_NUMBER_PATTERN),\r\n    Validators.required,\r\n  ];\r\n\r\n  @Input() account: any = {};\r\n  @Input() company: any = {};\r\n  @Input() hasCompanyAddress: boolean = false;\r\n\r\n  @Output() stepComplete = new EventEmitter();\r\n\r\n  ngOnInit(): void {\r\n    this.isFranchisor$ = this.franchiseService.isFranchisor();\r\n    this.franchiseeCaption$ = this.signUpService.getFranchiseeCaption();\r\n    this.franchiseService.getResellers().subscribe((result: any) => {\r\n      this.franchisees = result;\r\n      this.franchisee.setValue(result.filter((x) => x.isHeadOffice)[0].id);\r\n    });\r\n\r\n    this.accountStep = this.fb.group({\r\n      clientName: [\r\n        this.company.name,\r\n        {\r\n          validators: [Validators.required, Validators.minLength(2)],\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      clientContactNumber: [\r\n        this.company.phoneNo,\r\n        {\r\n          validators: this.phoneNumberValidator,\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      name: [\r\n        this.account.usersName,\r\n        {\r\n          validators: [Validators.required, Validators.minLength(2)],\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      email: [\r\n        this.account.userEmail,\r\n        {\r\n          validators: this.emailValidator,\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      password: [\r\n        this.account.userPassword,\r\n        {\r\n          validators: [Validators.required, Validators.minLength(8)],\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      signUpCode: [\r\n        this.account.signUpCode,\r\n        {\r\n          validators: [],\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      franchisee: [\r\n        this.account.franchisee,\r\n        {\r\n          validators: [Validators.required],\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n    });\r\n\r\n    this.address = this.addressFb\r\n      .withAddressLine1(this.company.addressLine1)\r\n      .withAddressLine2(this.company.addressLine2)\r\n      .withAddressLine3(this.company.addressLine3)\r\n      .withCity(this.company.city)\r\n      .withCounty(this.company.county)\r\n      .withCountry(this.company.country)\r\n      .withPostCode(this.company.postCode)\r\n      .create();\r\n\r\n    this.addressSearchState = this.hasCompanyAddress\r\n      ? \"show-address\"\r\n      : \"search\";\r\n  }\r\n\r\n  showPassword = false;\r\n\r\n  togglePassword() {\r\n    this.showPassword = !this.showPassword;\r\n  }\r\n\r\n  validateEmailExists(e) {\r\n    if (this.email.invalid) {\r\n      this.franchisee.enable();\r\n      return;\r\n    }\r\n\r\n    this.signUpService.checkEmail(this.email.value).subscribe((result) => {\r\n      if (!result.exists) {\r\n        this.franchisee.enable();\r\n        return;\r\n      }\r\n\r\n      if (!result.isResellerOnly) {\r\n        this.email.setErrors({ exists: true });\r\n\r\n        var item = this.franchisees.filter((x) => x.id == result.companyId);\r\n\r\n        if (item.length > 0) {\r\n          this.franchisee.disable();\r\n          this.franchisee.setValue(item[0].id);\r\n        } else this.franchisee.enable();\r\n\r\n        return;\r\n      }\r\n\r\n      this.franchisee.setValue(\r\n        this.franchisees.filter((x) => x.id == result.companyId)[0].id\r\n      );\r\n      this.franchisee.disable();\r\n\r\n      this.email.setErrors(null);\r\n    });\r\n  }\r\n\r\n  onNextStepClick() {\r\n    if (this.accountStep.invalid || this.address.invalid) {\r\n      this.accountStep.markAllAsTouched();\r\n      this.address.markAllAsTouched();\r\n      this.addressSearchState = \"show-address\";\r\n      return;\r\n    }\r\n\r\n    let address = this.addressValuesExtractor.getAddress(this.address);\r\n\r\n    this.stepComplete.emit({\r\n      clientName: this.clientName.value,\r\n      clientContactNumber: this.clientContactNumber.value,\r\n      addressLine1: address.addressLine1,\r\n      addressLine2: address.addressLine2,\r\n      addressLine3: address.addressLine3,\r\n      city: address.city,\r\n      county: address.county,\r\n      country: address.country,\r\n      postCode: address.postCode,\r\n      name: this.name.value,\r\n      email: this.email.value,\r\n      password: this.password.value,\r\n      signUpCode: this.signUpCode.value,\r\n      franchisee: this.franchisee.value,\r\n    });\r\n  }\r\n}\r\n","<h2 class=\"text-center\">Set Up Your Account</h2>\r\n    <form [formGroup]=\"accountStep\">\r\n      <div class=\"row mb-2\">\r\n        <div class=\"col-12\">\r\n          <div class=\"card\">\r\n            <div class=\"card-header\">User Account</div>\r\n            <div class=\"card-body\">\r\n              <div class=\"row mb-1\">\r\n                <div class=\"col-xs-12 col-md-3\">\r\n                  <label for=\"input-email\">Full Name</label>\r\n                </div>\r\n                <div class=\"col-xs-12 col-md-4 col-lg-4\">\r\n                  <input class=\"form-control\" placeholder=\"Your full name\" formControlName=\"name\" type=\"text\" />\r\n                  <r247-validation-message errorMessage=\"Please enter your Name\" [showError]=\"name?.errors?.required && name.touched\">\r\n                  </r247-validation-message>\r\n                </div>\r\n              </div>\r\n              <div class=\"row mb-1\">\r\n                <div class=\"col-xs-12 col-md-3\">\r\n                  <label for=\"input-email\">Phone Number</label>\r\n                </div>\r\n                <div class=\"col-xs-12 col-md-9 col-lg-4\">\r\n                  <input formControlName=\"clientContactNumber\" class=\"form-control\" type=\"tel\" (keydown.Space)=\"$event.preventDefault();\" id=\"user-contact-number\" placeholder=\"Contact Number\" />\r\n                    <r247-validation-message errorMessage=\"Please enter a contact number\" [showError]=\"clientContactNumber?.errors?.required && clientContactNumber.touched\"></r247-validation-message>\r\n                    <r247-validation-message errorMessage=\"Please enter a valid phone number\" [showError]=\"clientContactNumber?.hasError('pattern') && clientContactNumber.touched\"></r247-validation-message>\r\n                </div>\r\n              </div>\r\n              <div class=\"row mb-1\">\r\n                <div class=\"col-xs-12 col-md-3\">\r\n                  <label for=\"input-email\">Email address</label>\r\n                </div>\r\n                <div class=\"col-xs-12 col-md-9 col-lg-4\">\r\n                  <input class=\"form-control\" id=\"user-email\" placeholder=\"Email address for accessing the portal\" formControlName=\"email\" type=\"email\" (blur)=\"validateEmailExists($event)\" />\r\n                    <r247-validation-message errorMessage=\"Please a valid email\" [showError]=\"email?.hasError('pattern') && email.touched\"></r247-validation-message>\r\n                    <r247-validation-message errorMessage=\"Please enter your email address\" [showError]=\"email?.errors?.required && email.touched\"></r247-validation-message>\r\n                    <r247-validation-message errorMessage=\"This email address is already linked to an account\" [showError]=\"email?.hasError('exists') && email.touched\"></r247-validation-message>\r\n                </div>\r\n              </div>\r\n              <div class=\"row mb-1\">\r\n                <div class=\"col-xs-12 col-md-3\">\r\n                  <label for=\"input-password\">Password</label>\r\n                </div>\r\n                <div class=\"col-xs-12 col-md-4 col-lg-4\">\r\n                  <div class=\"input-group\">\r\n                    <input id=\"input-password\" [type]=\"showPassword ? 'text' : 'password'\" class=\"form-control\" formControlName=\"password\" placeholder=\"Enter a password of at least 8 characters\" />\r\n                    <div class=\"input-group-append\">\r\n                      <button class=\"btn btn-secondary\" type=\"button\" (click)=\"showPassword = !showPassword\">\r\n                        <span *ngIf=\"!showPassword\">Show</span>\r\n                        <span *ngIf=\"showPassword\">Hide</span>\r\n                      </button>\r\n                    </div>\r\n                  </div>\r\n                  <r247-validation-message errorMessage=\"Please enter a password\" [showError]=\"password?.errors?.required && password.touched\"></r247-validation-message>\r\n                  <r247-validation-message errorMessage=\"Password must be at least 8 characters\" [showError]=\"password?.errors?.minlength && password.touched\"></r247-validation-message>\r\n                </div>\r\n              </div>\r\n              <div class=\"row mt-4 mb-1\" *ngIf=\"isFranchisor$ | async\">\r\n                <div class=\"col-xs-12 col-md-3\">\r\n                  <label for=\"input-franchisee\">{{franchiseeCaption$ | async}}</label>\r\n                </div>\r\n                <div class=\"col-xs-12 col-md-9 col-lg-4\">\r\n                  <ng-select \r\n                    [disabled]=\"allowFranchiseeSelection\"\r\n                    formControlName=\"franchisee\"\r\n                    [items]=\"franchisees\"\r\n                    notFoundText=\"No Franchisees Found\"\r\n                    [clearable]=\"false\"\r\n                    bindLabel=\"name\"\r\n                    bindValue=\"id\">\r\n                    <!-- [(ngModel)]=\"selectedFranchisee\"\r\n                    (ngModelChange)=\"onFranchiseeChange($event)\"> -->\r\n                  </ng-select>\r\n                </div>\r\n              </div>\r\n              <div class=\"row mt-4 mb-1\">\r\n                <div class=\"col-xs-12 col-md-3\">\r\n                  <label for=\"input-sign-up-code\">Promotional Code</label>\r\n                </div>\r\n                <div class=\"col-xs-12 col-md-9 col-lg-4\">\r\n                  <input class=\"form-control\" id=\"input-sign-up-code\" placeholder=\"Enter your discount or activation code if you have one\" formControlName=\"signUpCode\" type=\"text\" />\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"row mb-2\">\r\n        <div class=\"col-12\">\r\n          <div class=\"card\">\r\n            <div class=\"card-header\">Company</div>\r\n            <div class=\"card-body\">\r\n              <div class=\"row mb-1\">\r\n                <div class=\"col-xs-12 col-md-3\">\r\n                  <label for=\"input-email\">Company Name</label>\r\n                </div>\r\n                <div class=\"col-xs-12 col-md-9 col-lg-4\">\r\n                  <input formControlName=\"clientName\" class=\"form-control\" type=\"text\" id=\"user-company-name\" placeholder=\"Your registered company name\" />\r\n                  <r247-validation-message errorMessage=\"Please enter your company name\" [showError]=\"clientName?.errors?.required && clientName.touched\"></r247-validation-message>\r\n                </div>\r\n              </div>\r\n              <r247-address-picker [searchState]=\"addressSearchState\" addressSearchLabel=\"Registered Company Address\" [(address)]=\"address\"></r247-address-picker>\r\n            </div>\r\n          </div>\r\n          </div>\r\n        </div>\r\n    </form>\r\n    <div class=\"row\">\r\n      <div class=\"col-12\">\r\n        <r247-stepper-buttons [showPreviousButton]=\"false\" (nextStep)=\"onNextStepClick()\"></r247-stepper-buttons>\r\n      </div>\r\n    </div>","import { ChangeDetectionStrategy, Component } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\n\r\n@Component({\r\n  selector: \"r247-register-number-chooser\",\r\n  templateUrl: \"./register-number-chooser.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247RegisterNumberChooserComponent {\r\n  constructor(protected router: Router, private route: ActivatedRoute) {}\r\n\r\n  goToRegister(selectedNumber) {\r\n    var url = `/register/account?category=${selectedNumber.category}&prefix=${selectedNumber.prefix}&range=${selectedNumber.range}&number=${selectedNumber.number}`;\r\n\r\n    let resellerId = this.route.snapshot.queryParamMap.get(\"reseller\");\r\n    if (resellerId != null) url += `&reseller=${Number(resellerId)}`;\r\n\r\n    return this.router.navigateByUrl(url);\r\n  }\r\n}\r\n","<div class=\"row\">\r\n    <div class=\"col-12 pl-0 pl-md-3 pr-0 pr-md-3\">\r\n        <r247-number-chooser (numberConfirmed)=\"goToRegister($event)\"></r247-number-chooser>\r\n    </div>\r\n</div>\r\n","import {\r\n  Component,\r\n  ChangeDetectionStrategy,\r\n  OnInit,\r\n  Output,\r\n  EventEmitter,\r\n  Input,\r\n} from \"@angular/core\";\r\nimport { FormGroup } from \"@angular/forms\";\r\nimport { AddressFormBuilder } from \"../../../@components/address-picker/address-form-builder\";\r\nimport { CardDetailsFormBuilder } from \"../../../@components/card-details-form/card-details-form-builder\";\r\nimport { TopUpFormBuilder } from \"../../../@components/top-up-form/top-up-form-builder\";\r\nimport { Payment } from \"../../../@core/interfaces/common/signUp\";\r\nimport { AddressValuesExtractor } from \"../../../@core/utils/address-values-extractor\";\r\nimport { PaymentValuesExtractor } from \"../../../@core/utils/payment-values-extractor\";\r\nimport { MINIMUM_TOP_UP } from \"../../../@core/interfaces/receptionist/payment\";\r\n\r\n@Component({\r\n  selector: \"r247-register-payment-screen\",\r\n  templateUrl: \"./register-payment-screen.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247RegisterPaymentScreenComponent implements OnInit {\r\n  constructor(\r\n    private topUpFb: TopUpFormBuilder,\r\n    private addressFb: AddressFormBuilder,\r\n    private addressValuesExtractor: AddressValuesExtractor,\r\n    private cardDetailsFb: CardDetailsFormBuilder,\r\n    private paymentValuesExtractor: PaymentValuesExtractor\r\n  ) {}\r\n\r\n  @Input() category = \"\";\r\n  @Input() prefix = \"\";\r\n  @Input() contacts = [];\r\n\r\n  @Input() paymentDetails: Payment;\r\n  @Input() minimumTopUp = MINIMUM_TOP_UP;\r\n\r\n  @Input() billingAddress: any;\r\n  @Output() billingAddressChange = new EventEmitter();\r\n\r\n  @Output() previousStep = new EventEmitter();\r\n  @Output() stepComplete = new EventEmitter();\r\n\r\n  get isAutoTopUp() {\r\n    return this.topUpForm.get(\"isAutoTopUp\").value;\r\n  }\r\n\r\n  topUpForm: FormGroup;\r\n  billingAddressForm: FormGroup;\r\n  cardDetailsForm: FormGroup;\r\n\r\n  ngOnInit(): void {\r\n    this.billingAddressForm = this.addressFb\r\n      .withAddressLine1(this.billingAddress.addressLine1)\r\n      .withAddressLine2(this.billingAddress.addressLine2)\r\n      .withAddressLine3(this.billingAddress.addressLine3)\r\n      .withCity(this.billingAddress.city)\r\n      .withCounty(this.billingAddress.county)\r\n      .withCountry(this.billingAddress.country)\r\n      .withPostCode(this.billingAddress.postCode)\r\n      .create();\r\n\r\n    this.cardDetailsForm = this.createCardDetailsForm();\r\n\r\n    this.topUpForm = this.createTopUpForm();\r\n  }\r\n\r\n  createCardDetailsForm(): FormGroup {\r\n    let cardDetailsFormBuilder = this.cardDetailsFb\r\n      .withCardholderName(this.paymentDetails.cardHolderName)\r\n      .withCardNumber(this.paymentDetails.cardNumber)\r\n      .withCvc(this.paymentDetails.cvc)\r\n      .withExpiryMonth(this.paymentDetails.expiryMonth)\r\n      .withExpiryYear(this.paymentDetails.expiryYear)\r\n      .withCardDescription(this.paymentDetails.cardDescription);\r\n\r\n    if (this.paymentDetails.saveCardDetails)\r\n      cardDetailsFormBuilder.enableSaveCardDetails();\r\n    else cardDetailsFormBuilder.disableSaveCardDetails();\r\n\r\n    return cardDetailsFormBuilder.create();\r\n  }\r\n\r\n  createTopUpForm(): FormGroup {\r\n    let topUpFormBuilder = this.topUpFb.withAmount(this.paymentDetails.amount);\r\n\r\n    if (this.paymentDetails.createAutoTopUp) topUpFormBuilder.enableAutoTopUp();\r\n    else topUpFormBuilder.disableAutoTopUp();\r\n\r\n    return topUpFormBuilder.create();\r\n  }\r\n\r\n  cardDetailsFormChanged(form: FormGroup) {\r\n    this.cardDetailsForm = form;\r\n  }\r\n\r\n  autoTopUpToggled() {\r\n    this.cardDetailsForm.patchValue({ saveCardDetails: this.isAutoTopUp });\r\n  }\r\n\r\n  onPreviousStepClick() {\r\n    this.previousStep.emit(this.getData());\r\n  }\r\n\r\n  onStepComplete() {\r\n    if (\r\n      this.topUpForm?.invalid ||\r\n      this.billingAddressForm.invalid ||\r\n      this.cardDetailsForm?.invalid\r\n    ) {\r\n      this.topUpForm.markAllAsTouched();\r\n      this.billingAddressForm.markAllAsTouched();\r\n      this.cardDetailsForm.markAllAsTouched();\r\n      return;\r\n    }\r\n\r\n    this.stepComplete.emit(this.getData());\r\n  }\r\n\r\n  private getData() {\r\n    return {\r\n      paymentDetails: this.paymentValuesExtractor\r\n        .newCard(this.cardDetailsForm)\r\n        .paymentValues(this.topUpForm)\r\n        .getPayment(),\r\n      billingAddress: this.addressValuesExtractor.getAddress(\r\n        this.billingAddressForm\r\n      ),\r\n    };\r\n  }\r\n}\r\n","<h2 class=\"text-center\">Top Up Your Account</h2>\r\n<r247-cost-breakdown \r\n    [showFooter]=\"false\" \r\n    [category]=\"category\"\r\n    [prefix]=\"prefix\"\r\n    [contacts]=\"contacts\">\r\n</r247-cost-breakdown>\r\n<div class=\"card mb-2 mt-2\">\r\n    <div class=\"card-header\" class=\"card-header\">Top Up</div>\r\n    <div class=\"card-body\">\r\n        <div class=\"col-12 mb-3\">\r\n            Please top up by at least <strong>£{{minimumTopUp}}</strong>.\r\n        </div>\r\n        <r247-top-up-form \r\n        [(topUpForm)]=\"topUpForm\" \r\n        [minimumTopUp]=\"minimumTopUp\"\r\n        (autoTopUpToggled)=\"autoTopUpToggled()\"></r247-top-up-form>\r\n    </div>\r\n</div>\r\n<div class=\"card mb-2\">\r\n    <div class=\"card-header\">Billing Address</div>\r\n    <div class=\"card-body\">\r\n        <form [formGroup]=\"billingAddressForm\">                      \r\n          <r247-address-picker [searchState]=\"'show-address'\" addressSearchLabel=\"Billing Address\" searchAgainLabel=\"Change\" [(address)]=\"billingAddressForm\"></r247-address-picker>\r\n        </form>\r\n    </div>\r\n</div>\r\n<div class=\"card\">\r\n    <div class=\"card-header\">Card Details</div>\r\n    <div class=\"card-body\">\r\n        <r247-card-details [(cardDetailsForm)]=\"cardDetailsForm\" [forceSaveCardDetails]=\"isAutoTopUp\"></r247-card-details>\r\n    </div>\r\n</div>\r\n<r247-stepper-buttons nextCaption=\"Register\" (previousStep)=\"onPreviousStepClick()\" (nextStep)=\"onStepComplete()\"></r247-stepper-buttons>","import {\r\n  Component,\r\n  ChangeDetectionStrategy,\r\n  Output,\r\n  EventEmitter,\r\n  Input,\r\n} from \"@angular/core\";\r\nimport { FormArray, FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { Contact, Reception } from \"../../../@core/interfaces/common/signUp\";\r\nimport {\r\n  EMAIL_PATTERN,\r\n  PHONE_NUMBER_PATTERN,\r\n  URL_PATTERN,\r\n} from \"../../../@core/utils/constants\";\r\n\r\n@Component({\r\n  selector: \"r247-register-reception-screen\",\r\n  templateUrl: \"./register-reception-screen.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247RegisterReceptionScreenComponent {\r\n  constructor(private fb: FormBuilder) {}\r\n\r\n  @Input() reception: Reception;\r\n\r\n  @Output() previousStep = new EventEmitter();\r\n  @Output() stepComplete = new EventEmitter();\r\n\r\n  receptionStep: FormGroup;\r\n\r\n  get receptionGreeting() {\r\n    return this.receptionStep.get(\"greeting\");\r\n  }\r\n  get receptionSettingShouldCollectCompanyName() {\r\n    return this.receptionStep.get(\"company\");\r\n  }\r\n  get receptionSettingDescription() {\r\n    return this.receptionStep.get(\"description\");\r\n  }\r\n  get receptionSettingCompanyPhoneNumber() {\r\n    return this.receptionStep.get(\"phoneNumber\");\r\n  }\r\n  get receptionSettingCompanyWebsite() {\r\n    return this.receptionStep.get(\"website\");\r\n  }\r\n  get receptionSettingOpeningHours() {\r\n    return this.receptionStep.get(\"openingHours\");\r\n  }\r\n  get receptionSettingCompanyOperatingEmail() {\r\n    return this.receptionStep.get(\"email\");\r\n  }\r\n\r\n  get receptionContactsForm() {\r\n    return this.receptionStep.get(\"contacts\") as FormArray;\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.receptionStep = this.fb.group({\r\n      description: [\r\n        this.reception.description,\r\n        {\r\n          validators: [Validators.required, Validators.maxLength(255)],\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      greeting: [\r\n        this.reception.greeting,\r\n        {\r\n          validators: [Validators.required, Validators.minLength(2)],\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      company: [this.reception.shouldCollectCompanyName ? \"yes\" : \"no\"],\r\n      email: [\r\n        this.reception.email,\r\n        {\r\n          validators: [Validators.pattern(EMAIL_PATTERN)],\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      phoneNumber: [\r\n        this.reception.phoneNo,\r\n        {\r\n          validators: [\r\n            Validators.required,\r\n            Validators.pattern(PHONE_NUMBER_PATTERN),\r\n          ],\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      website: [\r\n        this.reception.website,\r\n        {\r\n          validators: [Validators.pattern(URL_PATTERN)],\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      openingHours: [\r\n        this.reception.openingHours,\r\n        {\r\n          validators: Validators.required,\r\n          updateOn: \"blur\",\r\n        },\r\n      ],\r\n      contacts: this.fb.array([]),\r\n    });\r\n\r\n    for (let i = 0; i < this.reception.contacts.length; i++) {\r\n      var contact = this.reception.contacts[i];\r\n\r\n      this.newContact(contact);\r\n    }\r\n  }\r\n\r\n  newContact(contact: any) {\r\n    this.receptionContactsForm.push(\r\n      this.fb.group({\r\n        name: [\r\n          contact.name,\r\n          {\r\n            validators: Validators.required,\r\n            updateOn: \"blur\",\r\n          },\r\n        ],\r\n        email: [\r\n          contact.email,\r\n          {\r\n            validators: [Validators.pattern(EMAIL_PATTERN)],\r\n            updateOn: \"blur\",\r\n          },\r\n        ],\r\n        phoneNumber: [\r\n          contact.phoneNo,\r\n          {\r\n            validators: [Validators.pattern(PHONE_NUMBER_PATTERN)],\r\n            updateOn: \"blur\",\r\n          },\r\n        ],\r\n        sendSms: [contact.sendSms],\r\n        sendEmail: [contact.sendEmail],\r\n      })\r\n    );\r\n  }\r\n\r\n  addContact() {\r\n    this.newContact({\r\n      name: \"\",\r\n      email: \"\",\r\n      phoneNumber: \"\",\r\n      sendSms: false,\r\n      sendEmail: false,\r\n    });\r\n  }\r\n\r\n  deleteContact(index: number) {\r\n    this.receptionContactsForm.removeAt(index);\r\n  }\r\n\r\n  completeStep() {\r\n    if (this.receptionStep.invalid) {\r\n      this.receptionStep.markAllAsTouched();\r\n      return;\r\n    }\r\n\r\n    this.stepComplete.emit(this.getReceptionData());\r\n  }\r\n\r\n  goToPreviousStep() {\r\n    this.previousStep.emit(this.getReceptionData());\r\n  }\r\n\r\n  private getReceptionData(): Reception {\r\n    var reception = new Reception();\r\n    reception.description = this.receptionSettingDescription.value;\r\n    reception.greeting = this.receptionGreeting.value;\r\n    reception.shouldCollectCompanyName =\r\n      this.receptionSettingShouldCollectCompanyName.value === \"yes\";\r\n    reception.phoneNo = this.receptionSettingCompanyPhoneNumber.value;\r\n    reception.website = this.receptionSettingCompanyWebsite.value;\r\n    reception.openingHours = this.receptionSettingOpeningHours.value;\r\n    reception.email = this.receptionSettingCompanyOperatingEmail.value;\r\n\r\n    let contacts = [];\r\n\r\n    for (let i = 0; i < this.receptionContactsForm.length; i++) {\r\n      let contact = new Contact();\r\n\r\n      let control = this.receptionContactsForm.controls[i];\r\n\r\n      contact.email = control.get(\"email\").value;\r\n      contact.phoneNo = control.get(\"phoneNumber\").value;\r\n      contact.name = control.get(\"name\").value;\r\n      contact.sendEmail = control.get(\"sendEmail\").value;\r\n      contact.sendSms = control.get(\"sendSms\").value;\r\n\r\n      contacts.push(contact);\r\n    }\r\n\r\n    reception.contacts = contacts;\r\n\r\n    return reception;\r\n  }\r\n}\r\n","<h2 class=\"text-center\">How We Represent Your Business</h2>\r\n<form [formGroup]=\"receptionStep\">\r\n    <div class=\"row\">\r\n        <div class=\"col-12 mb-2\">\r\n          <div class=\"card\">\r\n            <div class=\"card-header\">Services</div>\r\n            <div class=\"card-body\">\r\n              <div class=\"row mb-2\">\r\n                <div class=\"col-xs-12 col-md-12 col-lg-12\">\r\n                  <label><strong>Your receptionist will use the following information to answer enquires.</strong></label>\r\n                </div>\r\n              </div>\r\n              <div class=\"row mb-1\">\r\n                <div class=\"col-xs-12 col-md-3\">\r\n                  <label for=\"input-email\">What services do you offer?</label>\r\n                </div>\r\n                <div class=\"col-xs-12 col-md-9\">\r\n                  <input type=\"text\" class=\"form-control\" formControlName=\"description\" fullWidth  placeholder=\"Describe what services your company offers\" required />\r\n                  <r247-validation-message errorMessage=\"Please enter a description of what your business offers\" [showError]=\"receptionSettingDescription?.errors?.required && receptionSettingDescription?.touched\"></r247-validation-message>\r\n                  <r247-validation-message errorMessage=\"Description is too short\" [showError]=\"receptionSettingDescription?.errors?.minlength\"></r247-validation-message>\r\n                  <r247-validation-message errorMessage=\"Description is too long\" [showError]=\"receptionSettingDescription?.errors?.maxlength\"></r247-validation-message>\r\n                </div>\r\n              </div>\r\n              <div class=\"row mb-1\">\r\n                <div class=\"col-xs-12 col-md-3\">\r\n                  <label for=\"input-opening-hours\">Hours of Business</label>\r\n                </div>\r\n                <div class=\"col-xs-12 col-md-9\">\r\n                  <input type=\"text\" class=\"form-control\" placeholder=\"Hours of Business\" formControlName=\"openingHours\">\r\n                  <r247-validation-message errorMessage=\"Please enter your hours of business\" [showError]=\"receptionSettingOpeningHours?.errors?.required && receptionSettingOpeningHours?.touched\"></r247-validation-message>\r\n                </div>\r\n              </div>\r\n              <div class=\"row mb-1\">\r\n                    <div class=\"col-xs-12 col-md-3\">\r\n                      <label for=\"input-website\">Website&nbsp;<small>(optional)</small></label>\r\n                    </div>\r\n                    <div class=\"col-xs-12 col-md-9 col-lg-4\">\r\n                      <input type=\"text\" class=\"form-control\" placeholder=\"Company Website\" formControlName=\"website\" autocapitalize=\"none\">\r\n                      <r247-validation-message errorMessage=\"Please enter a valid website\" [showError]=\"receptionSettingCompanyWebsite?.errors?.pattern && receptionSettingCompanyWebsite?.touched\"></r247-validation-message>\r\n                    </div>\r\n                </div>\r\n                <div class=\"row mb-1\">\r\n                      <div class=\"col-xs-12 col-md-3\">\r\n                        <label for=\"input-company-name\">Email:</label>\r\n                      </div>\r\n                      <div class=\"col-xs-12 col-md-9 col-lg-4\">\r\n                        <input type=\"email\" class=\"form-control\" required placeholder=\"Email Address customers would normally use to contact you\" formControlName=\"email\" />\r\n                        <r247-validation-message errorMessage=\"Please enter a valid email address\" [showError]=\"receptionSettingCompanyOperatingEmail?.hasError('pattern') && receptionSettingCompanyOperatingEmail.touched\"></r247-validation-message>\r\n                        <r247-validation-message errorMessage=\"Please enter an email address\" [showError]=\"receptionSettingCompanyOperatingEmail?.errors?.required && receptionSettingCompanyOperatingEmail.touched\"></r247-validation-message>\r\n                      </div>\r\n                </div>\r\n                <div class=\"row mb-1\">\r\n                      <div class=\"col-xs-12 col-md-3\">\r\n                        <label for=\"input-email\">Phone Number</label>\r\n                      </div>\r\n                      <div class=\"col-xs-12 col-md-9 col-lg-4\">\r\n                        <input type=\"tel\" class=\"form-control\" placeholder=\"Phone Number customers would normally use to contact you\" formControlName=\"phoneNumber\" (keydown.Space)=\"$event.preventDefault();\">\r\n                        <r247-validation-message errorMessage=\"Please enter your company phone number\" [showError]=\"receptionSettingCompanyPhoneNumber?.errors?.required && receptionSettingCompanyPhoneNumber?.touched\"></r247-validation-message>\r\n                        <r247-validation-message errorMessage=\"Please enter a valid phone number\" [showError]=\"receptionSettingCompanyPhoneNumber?.hasError('pattern') && receptionSettingCompanyPhoneNumber?.touched\"></r247-validation-message>\r\n                      </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            </div>\r\n            <div class=\"col-12 mb-2\">\r\n              <div class=\"card\">\r\n                <div class=\"card-header\">Reception</div>\r\n                <div class=\"card-body\">\r\n                  <div class=\"row mt-3\">\r\n                    <div class=\"col\">\r\n                      <label>How we answer for your business?</label>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"row mt-3\">\r\n                    <div class=\"col-md-12 d-none d-md-block\">\r\n                      <div class=\"input-group\">\r\n                        <div class=\"input-group-prepend\">\r\n                          <span class=\"input-group-text\">Good Morning/Afternoon,&nbsp;</span>\r\n                        </div>\r\n                        <input type=\"text\" class=\"form-control\" style=\"width: 100%;\" placeholder=\"Reception\" formControlName=\"greeting\" required>\r\n                        <div class=\"input-group-append\">\r\n                          <span class=\"input-group-text\">,&nbsp;[Agent Name] Speaking, How can I help?</span>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                    <div class=\"col-12 d-block d-md-none\">\r\n                      <p><strong>Good Morning/Afternoon,</strong></p>\r\n                      <p class=\"mt-2 mb-3\">\r\n                        <input type=\"text\" class=\"form-control\" style=\"width: 100%;\" placeholder=\"Reception\" formControlName=\"greeting\" required>\r\n                      </p>\r\n                      <p class=\"d-block d-md-none\">\r\n                        <r247-validation-message errorMessage=\"Please enter how your receptionist should answer the phone\" [showError]=\"receptionGreeting?.errors?.required && receptionGreeting?.touched\"></r247-validation-message>\r\n                      </p>\r\n                      <p><strong>[Agent Name] Speaking, How can I help?</strong></p>\r\n                      <p class=\"d-none d-md-block\">\r\n                        <r247-validation-message errorMessage=\"Please enter how your receptionist should answer the phone\" [showError]=\"receptionGreeting?.errors?.required && receptionGreeting?.touched\"></r247-validation-message>\r\n                      </p>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"row mt-3\">\r\n                    <div class=\"col-xs-12 col-md-12\">\r\n                      <label>By default your receptionist will collect the <strong>caller's name</strong>, <strong>contact number</strong>, <strong>reason for the call</strong>, would you like them to collect the <strong>caller's company name</strong>?</label>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"row mt-3 justify-content-center\">\r\n                    <div class=\"col-xs-6 col-md-2\">\r\n                      <div class=\"form-check\">\r\n                        <input id=\"collect-business-name-yes\" type=\"radio\" class=\"custom-control-input\" value=\"yes\" formControlName=\"company\"/>\r\n                        <label class=\"custom-control-label\" for=\"collect-business-name-yes\">Yes</label>\r\n                      </div>\r\n                    </div>\r\n                    <div class=\"col-xs-6 col-md-2\">\r\n                      <div class=\"form-check\">\r\n                        <input id=\"collect-business-name-no\" type=\"radio\" class=\"custom-control-input\" value=\"no\" formControlName=\"company\"/>\r\n                        <label class=\"custom-control-label\" for=\"collect-business-name-no\">No</label>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"col-12 mb-2\">\r\n              <div class=\"card\">\r\n                <div class=\"card-header\">Contacts</div>\r\n                <div class=\"card-body\">\r\n                  <div class=\"row\">\r\n                    <div class=\"col-xs-12 col-md-12 mb-1\">\r\n                      <strong>Enter the names of staff or departments that may be asked for</strong>\r\n                      <r247-info-icon caption=\"‘General’ is set up by default and will always appear to ensure no messages is missed. The ability to add additional departments and/or people appears below the last created contact.\"></r247-info-icon>\r\n                    </div>\r\n                  </div>\r\n                  <div formArrayName=\"contacts\">\r\n                  <div [formArrayName]=\"i\" *ngFor=\"let contact of receptionContactsForm.controls; let i = index\" [formGroupName]=\"i\">\r\n                    <form [formGroup]=\"contact\">\r\n                      <hr/>\r\n                      <div class=\"row mb-1\">\r\n                        <div class=\"col-xs-12 col-md-3\">\r\n                          <label for=\"Name\">Name of staff member or department</label>\r\n                        </div>\r\n                        <div class=\"col-xs-12 col-md-4 col-lg-4\">\r\n                            <input class=\"form-control\" type=\"text\" placeholder=\"Name\" [attr.disabled]=\"i === 0 ? '' : null\" formControlName=\"name\" />\r\n                            <r247-validation-message errorMessage=\"Please enter a name for the contact\" [showError]=\"receptionContactsForm.controls[i].get('name')?.errors?.required && receptionContactsForm.controls[i].get('name').touched\"></r247-validation-message>\r\n                        </div>\r\n                      </div>\r\n                      <div class=\"row mb-1\">\r\n                        <div class=\"col-xs-12 col-md-3\">\r\n                          <label for=\"Email\">Email&nbsp;<small>(optional)</small></label>\r\n                        </div>\r\n                        <div class=\"col-xs-12 col-md-4 col-lg-4\">\r\n                          <input class=\"form-control\" type=\"email\" placeholder=\"Email address for receiving messages\" formControlName=\"email\" />\r\n                          <r247-validation-message errorMessage=\"Please enter a valid email\" [showError]=\"receptionContactsForm.controls[i].get('email')?.hasError('pattern') && receptionContactsForm.controls[i].get('email').touched\"></r247-validation-message>\r\n                        </div>\r\n                        <div class=\"col-xs-12 col-md-4 col-lg-4 mt-2 mt-md-0\">\r\n                          <div class=\"form-check\">\r\n                            <input type=\"checkbox\" class=\"form-check-input\" formControlName=\"sendEmail\" name=\"sendEmail\" [attr.disabled]=\"receptionContactsForm.controls[i].get('email')?.value?.length <=0 || receptionContactsForm.controls[i].get('email')?.hasError('pattern') ? true : null\">\r\n                            <label class=\"form-check-label\" for=\"exampleCheck1\">Send Message By Email</label>\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"d-none d-md-block col-md-1 col-lg-1\" *ngIf=\"i >= 1\">\r\n                          <button (click)=\"deleteContact(i)\" [disabled]=\"receptionContactsForm.controls.length <= 1\" class=\"btn btn-secondary\">X</button>\r\n                        </div>\r\n                      </div>\r\n                      <div class=\"row\">\r\n                        <div class=\"col-xs-12 col-md-3\">\r\n                          <label for=\"Email\">Mobile Number&nbsp;<small>(optional)</small></label>\r\n                        </div>\r\n                        <div class=\"col-xs-12 col-md-4 col-lg-4\">\r\n                          <input class=\"form-control\" type=\"tel\" placeholder=\"Mobile number for receiving messages\" formControlName=\"phoneNumber\" (keydown.Space)=\"$event.preventDefault();\" />\r\n                          <r247-validation-message errorMessage=\"Please enter a valid phone number\" [showError]=\"receptionContactsForm.controls[i].get('phoneNumber')?.hasError('pattern') && receptionContactsForm.controls[i].get('phoneNumber')?.touched\"></r247-validation-message>\r\n                        </div>\r\n                        <div class=\"col-xs-12 col-md-4 col-lg-4 mt-2 mt-md-0\">\r\n                          <div class=\"form-check\">\r\n                            <input type=\"checkbox\" class=\"form-check-input\" formControlName=\"sendSms\" name=\"sendSms\" [attr.disabled]=\"receptionContactsForm.controls[i].get('phoneNumber')?.value?.length <= 0 || receptionContactsForm.controls[i].get('phoneNumber')?.hasError('pattern') ? true : null\">\r\n                            <label class=\"form-check-label\" for=\"exampleCheck1\">Send Message By Text <small>(10p per text message)</small></label>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                      <div class=\"row mt-2\">\r\n                        <div class=\"d-block d-md-none col-12\" *ngIf=\"i >= 1\">\r\n                          <button (click)=\"deleteContact(i)\" [disabled]=\"receptionContactsForm.controls.length <= 1\" class=\"btn btn-secondary\">Delete</button>\r\n                        </div>\r\n                      </div>\r\n                    </form>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <div class=\"card-footer\">\r\n                <button class=\"btn btn-primary float-right\" (click)=\"addContact()\">Add New Contact</button>\r\n              </div>\r\n          </div>\r\n        </div>\r\n    </div>\r\n</form>\r\n<r247-stepper-buttons (previousStep)=\"goToPreviousStep()\" (nextStep)=\"completeStep()\"></r247-stepper-buttons>","import {\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  OnInit,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport {\r\n  signUpForm,\r\n  Reception,\r\n  Contact,\r\n  signUpResult,\r\n  Payment,\r\n} from \"../../../@core/interfaces/common/signUp\";\r\nimport { SignUpService } from \"../../../@core/backend/receptionist/services/sign-up-service\";\r\nimport { environment } from \"../../../../environments/environment\";\r\nimport { MINIMUM_TOP_UP } from \"../../../@core/interfaces/receptionist/payment\";\r\n\r\n@Component({\r\n  selector: \"r247-register\",\r\n  templateUrl: \"./register.component.html\",\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class R247RegisterComponent implements OnInit {\r\n  AWAITING_INPUT = \"awaiting-input\";\r\n  ERROR_CHECK_FAIL = \"error-check-fail\";\r\n  UNKNOWN_ERROR = \"unknown-error\";\r\n  PROCESSING = \"processing\";\r\n  SUCCESS = \"success\";\r\n  CREATE_ACCOUNT_FAIL = \"create-account-fail\";\r\n  NUMBER_PURCHASE_FAIL = \"purchase-number-fail\";\r\n  PAYMENT_FAIL = \"payment-fail\";\r\n  ACTIVATION_FAIL = \"activation-fail\";\r\n\r\n  constructor(\r\n    private signUpService: SignUpService,\r\n    protected cd: ChangeDetectorRef,\r\n    protected router: Router,\r\n    protected route: ActivatedRoute\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.number.category = this.route.snapshot.queryParamMap.get(\"category\");\r\n    this.number.prefix = this.route.snapshot.queryParamMap.get(\"prefix\");\r\n    this.number.range = this.route.snapshot.queryParamMap.get(\"range\");\r\n    this.number.number = this.route.snapshot.queryParamMap.get(\"number\");\r\n  }\r\n\r\n  hasCompanyAddress = false;\r\n  submitted = false;\r\n  errors: string[] = [];\r\n  errorMessage = \"\";\r\n  isRectifiableError = false;\r\n  messages: string[] = [];\r\n  user: any = {};\r\n  clientId = 0;\r\n  userLocation: string;\r\n  currentScreenIndex = 1;\r\n\r\n  minimumTopUp = MINIMUM_TOP_UP;\r\n\r\n  receptionDataCopied = false;\r\n  paymentDataCopied = false;\r\n\r\n  billingAddress: any = {};\r\n  account: any = {};\r\n  company: any = {};\r\n  reception: Reception = new Reception();\r\n  receptionContacts: Contact[] = [];\r\n  payment: Payment = new Payment();\r\n\r\n  registrationState = this.AWAITING_INPUT;\r\n\r\n  number = {\r\n    category: \"\",\r\n    prefix: \"\",\r\n    range: \"\",\r\n    number: \"\",\r\n  };\r\n\r\n  onAccountStepComplete(data: any) {\r\n    this.account.usersName = data.name;\r\n    this.account.userEmail = data.email;\r\n    this.account.userPassword = data.password;\r\n    this.account.confirmPassword = data.confirmPassword;\r\n    this.account.franchisee = data.franchisee;\r\n\r\n    this.company.name = data.clientName;\r\n    this.company.phoneNo = data.clientContactNumber;\r\n    this.company.addressLine1 = data.addressLine1;\r\n    this.company.addressLine2 = data.addressLine2;\r\n    this.company.addressLine3 = data.addressLine3;\r\n    this.company.postCode = data.postCode;\r\n    this.company.city = data.city;\r\n    this.company.county = data.county;\r\n    this.company.country = data.country;\r\n    this.company.signUpCode = data.signUpCode;\r\n\r\n    this.hasCompanyAddress = true;\r\n\r\n    if (!this.receptionDataCopied) this.copyClientInfoToReception(data);\r\n\r\n    if (!this.paymentDataCopied) {\r\n      this.updateBillingAddress(data);\r\n      this.payment.cardHolderName = data.name;\r\n      this.paymentDataCopied = true;\r\n    }\r\n\r\n    this.nextStep();\r\n  }\r\n\r\n  copyClientInfoToReception(data) {\r\n    var companyName = data.clientName;\r\n\r\n    if (companyName.toLowerCase().endsWith(\" ltd\"))\r\n      companyName = companyName.substring(0, companyName.length - 4);\r\n\r\n    this.reception.greeting = companyName;\r\n    (this.reception.phoneNo = data.clientContactNumber),\r\n      (this.reception.email = data.email);\r\n\r\n    var generalContact = new Contact();\r\n    generalContact.email = data.email;\r\n    generalContact.name = \"General\";\r\n    generalContact.sendEmail = true;\r\n    generalContact.sendSms = false;\r\n\r\n    this.reception.contacts.push(generalContact);\r\n\r\n    this.receptionDataCopied = true;\r\n  }\r\n\r\n  updateBillingAddress(data: any) {\r\n    this.billingAddress = {\r\n      addressLine1: data.addressLine1,\r\n      addressLine2: data.addressLine2,\r\n      addressLine3: data.addressLine3,\r\n      city: data.city,\r\n      county: data.county,\r\n      country: data.country,\r\n      postCode: data.postCode.toUpperCase(),\r\n    };\r\n  }\r\n\r\n  onReceptionStepPrevious(reception: Reception) {\r\n    this.reception = reception;\r\n    this.previousStep();\r\n  }\r\n\r\n  onReceptionStepComplete(reception: Reception) {\r\n    this.reception = reception;\r\n    this.nextStep();\r\n  }\r\n\r\n  onPaymentStepPrevious(payment: any) {\r\n    this.payment = payment.paymentDetails;\r\n    this.billingAddress = payment.billingAddress;\r\n    this.previousStep();\r\n  }\r\n\r\n  onPaymentStepComplete(payment: any) {\r\n    this.payment = payment.paymentDetails;\r\n    this.updateBillingAddress(payment.billingAddress);\r\n    this.register();\r\n  }\r\n\r\n  previousStep() {\r\n    // hack to hide terms and conidtions until they've been written\r\n    if (this.currentScreenIndex === 4) {\r\n      this.currentScreenIndex = this.currentScreenIndex - 2;\r\n      return;\r\n    }\r\n\r\n    this.currentScreenIndex = this.currentScreenIndex - 1;\r\n  }\r\n\r\n  nextStep() {\r\n    // hack to hide terms and conidtions until they've been written\r\n    if (this.currentScreenIndex === 2) {\r\n      this.currentScreenIndex = this.currentScreenIndex + 2;\r\n      window.scroll(0, 0);\r\n      return;\r\n    }\r\n\r\n    this.currentScreenIndex = this.currentScreenIndex + 1;\r\n\r\n    window.scroll(0, 0);\r\n  }\r\n\r\n  register(): void {\r\n    this.errors = this.messages = [];\r\n    this.submitted = true;\r\n\r\n    this.registrationState = this.PROCESSING;\r\n\r\n    this.signUpService.signUp(this.getRegistrationFormData()).subscribe(\r\n      (result: signUpResult) => {\r\n        this.submitted = false;\r\n\r\n        this.registrationState = result?.status;\r\n\r\n        this.cd.detectChanges();\r\n      },\r\n      (error) => this.onRegisterError(error)\r\n    );\r\n  }\r\n\r\n  onRegisterError(error: any) {\r\n    this.clientId = error.error.clientId;\r\n\r\n    if (error.error && error.error.status) {\r\n      this.registrationState = error.error.status;\r\n      this.isRectifiableError = error.error.isRectifiableError;\r\n      this.errorMessage = error.error.errorMessage;\r\n    } else {\r\n      this.registrationState = this.UNKNOWN_ERROR;\r\n      this.isRectifiableError = false;\r\n      this.errorMessage = \"An unknown error occured\";\r\n    }\r\n  }\r\n\r\n  repurchaseNumberSuccess(purchasedNumber: any) {\r\n    this.registrationState = this.SUCCESS;\r\n    this.number.category = purchasedNumber.category;\r\n    this.number.prefix = purchasedNumber.prefix;\r\n    this.number.range = purchasedNumber.range;\r\n    this.number.number = purchasedNumber.number;\r\n  }\r\n\r\n  getRegistrationFormData(): signUpForm {\r\n    let signUpData = new signUpForm();\r\n\r\n    signUpData.resellerId =\r\n      this.account.franchisee == null ? 0 : this.account.franchisee;\r\n    signUpData.franchiseCode = sessionStorage.getItem(\"seller_code\");\r\n    signUpData.signUpCode = this.company.signUpCode;\r\n\r\n    signUpData.user.fullName = this.account.usersName;\r\n    signUpData.user.email = this.account.userEmail;\r\n    signUpData.user.password = this.account.userPassword;\r\n\r\n    signUpData.client.name = this.company.name;\r\n    signUpData.client.emailAddress = this.account.userEmail;\r\n    signUpData.client.phoneNumber = this.company.phoneNo;\r\n    signUpData.client.companyAddressLine1 = this.company.addressLine1;\r\n    signUpData.client.companyAddressLine2 = this.company.addressLine2;\r\n    signUpData.client.companyAddressLine3 = this.company.addressLine3;\r\n    signUpData.client.companyPostCode = this.company.postCode;\r\n    signUpData.client.companyCity = this.company.city;\r\n    signUpData.client.companyCounty = this.company.county;\r\n    signUpData.client.companyCountry = this.company.country;\r\n    signUpData.client.billingAddressLine1 = this.billingAddress.addressLine1;\r\n    signUpData.client.billingAddressLine2 = this.billingAddress.addressLine2;\r\n    signUpData.client.billingAddressLine3 = this.billingAddress.addressLine3;\r\n    signUpData.client.billingPostCode = this.billingAddress.postCode;\r\n    signUpData.client.billingCity = this.billingAddress.city;\r\n    signUpData.client.billingCounty = this.billingAddress.county;\r\n    signUpData.client.billingCountry = this.billingAddress.country;\r\n\r\n    let reception = new Reception();\r\n\r\n    reception.description = this.reception.description;\r\n    reception.openingHours = this.reception.openingHours;\r\n    reception.phoneNo = this.reception.phoneNo;\r\n    reception.website = this.reception.website;\r\n    reception.email = this.reception.email;\r\n    reception.numberPlan = this.number.category;\r\n    reception.virtualNumberPrefix = this.number.prefix;\r\n    reception.virtualNumberRange = this.number.range;\r\n    reception.virtualNumberNumber = this.number.number;\r\n    reception.shouldCollectCompanyName =\r\n      this.reception.shouldCollectCompanyName;\r\n    reception.greeting = this.reception.greeting;\r\n\r\n    reception.contacts = this.reception.contacts;\r\n\r\n    signUpData.client.receptions = [reception];\r\n\r\n    signUpData.payment.amount = this.payment.amount;\r\n    signUpData.payment.createAutoTopUp = this.payment.createAutoTopUp;\r\n    signUpData.payment.saveCardDetails = this.payment.saveCardDetails;\r\n    signUpData.payment.cardDescription = this.payment.cardDescription;\r\n    signUpData.payment.cardHolderName = this.payment.cardHolderName;\r\n    signUpData.payment.cardNumber = this.payment.cardNumber;\r\n    signUpData.payment.cvc = this.payment.cvc;\r\n    signUpData.payment.expiryMonth = this.payment.expiryMonth;\r\n    signUpData.payment.expiryYear = this.payment.expiryYear;\r\n\r\n    return signUpData;\r\n  }\r\n}\r\n","<div *ngIf=\"registrationState === AWAITING_INPUT || registrationState === UNKNOWN_ERROR || registrationState === ERROR_CHECK_FAIL || registrationState === PAYMENT_FAIL || registrationState === CREATE_ACCOUNT_FAIL\" class=\"mb-1\">\r\n  <div *ngIf=\"registrationState === UNKNOWN_ERROR || registrationState === ERROR_CHECK_FAIL || registrationState === PAYMENT_FAIL\">\r\n    <div class=\"alert alert-danger\" role=\"alert\">\r\n      <p>{{errorMessage}}</p>\r\n    </div>\r\n  </div>\r\n  <div *ngIf=\"registrationState === CREATE_ACCOUNT_FAIL\">\r\n    <div class=\"alert alert-danger\" role=\"alert\">\r\n      <h1>Something went wrong!</h1>\r\n      <p>We were unable to register your account.</p>\r\n      <p>{{errorMessage}}</p>\r\n    </div>\r\n  </div>\r\n  <div *ngIf=\"currentScreenIndex === 1\">\r\n    <r247-register-account-screen (stepComplete)=\"onAccountStepComplete($event)\" [account]=\"account\" [company]=\"company\" [hasCompanyAddress]=\"hasCompanyAddress\"></r247-register-account-screen>\r\n  </div>\r\n  <div *ngIf=\"currentScreenIndex === 2\">\r\n    <r247-register-reception-screen (previousStep)=\"onReceptionStepPrevious($event)\" (stepComplete)=\"onReceptionStepComplete($event)\" [reception]=\"reception\"></r247-register-reception-screen>\r\n  </div>\r\n  <div *ngIf=\"currentScreenIndex === 3\">\r\n        <r247-terms-and-conditions  (previousStep)=\"previousStep()\" (stepComplete)=\"nextStep()\"></r247-terms-and-conditions>\r\n  </div>\r\n  <div *ngIf=\"currentScreenIndex === 4\">\r\n        <r247-register-payment-screen (previousStep)=\"onPaymentStepPrevious($event)\" (stepComplete)=\"onPaymentStepComplete($event)\" [category]=\"number.category\" [prefix]=\"number.prefix\" [contacts]=\"reception.contacts\" [paymentDetails]=\"payment\" [(billingAddress)]=\"billingAddress\" [minimumTopUp]=\"minimumTopUp\"></r247-register-payment-screen>\r\n  </div>\r\n</div>\r\n<div *ngIf=\"registrationState === PROCESSING\">\r\n  <r247-processing-loader caption=\"Activating Reception\" subCaption=\"We are setting up your account.\"></r247-processing-loader>\r\n</div>\r\n<div *ngIf=\"registrationState === SUCCESS\">\r\n  <r247-registration-success [prefix]=\"number.prefix\" [range]=\"number.range\" [number]=\"number.number\" [userEmail]=\"account.userEmail\" [password]=\"account.userPassword\"></r247-registration-success>\r\n</div>\r\n<div *ngIf=\"registrationState === NUMBER_PURCHASE_FAIL\">\r\n    <r247-registration-purchase-number-fail [clientId]=\"clientId\" [chooseNewNumber]=\"isRectifiableError\" [errorMessage]=\"errorMessage\" (numberPurchased)=\"repurchaseNumberSuccess($event)\"></r247-registration-purchase-number-fail>\r\n</div>","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { SignUpService } from \"../../../@core/backend/receptionist/services/sign-up-service\";\r\n\r\n@Component({\r\n    selector: 'r247-registration-purchase-number-fail',\r\n    templateUrl: './registration-purchase-number-fail.component.html',\r\n    changeDetection: ChangeDetectionStrategy.Default,\r\n  })\r\n  export class R247RegistrationPurchaseNumberFailComponent {\r\n    constructor(private signUpService: SignUpService) {}\r\n    @Input() chooseNewNumber = false;\r\n    @Input() errorMessage = '';\r\n    @Input() clientId = 0;\r\n\r\n    @Output() numberPurchased = new EventEmitter();\r\n\r\n    purchaseNewNumber(numberToPurchase) {\r\n      this.errorMessage = '';\r\n      \r\n      numberToPurchase.clientId = this.clientId;\r\n\r\n      this.signUpService.purchaseNumber(numberToPurchase).subscribe(result => {\r\n        if (result.success) {\r\n          this.numberPurchased.emit(numberToPurchase);\r\n          return;\r\n        }\r\n\r\n        this.errorMessage = result.errorMessage;\r\n      },\r\n      (error => {\r\n        this.errorMessage = error.error.errorMessage;\r\n      }));\r\n    }\r\n  }","<div *ngIf=\"errorMessage?.length\" class=\"alert alert-danger\">{{errorMessage}}</div>\r\n<div *ngIf=\"chooseNewNumber\">\r\n    <r247-number-chooser\r\n        reserveNumberCaption=\"Purchase Number\"\r\n        chooseNumberCaption=\"Please Choose Another Number\"\r\n        numberChosenCaption=\"Your new Number\"\r\n        (numberConfirmed)=\"purchaseNewNumber($event)\"\r\n    ></r247-number-chooser>\r\n</div>","import { Component, ChangeDetectionStrategy, Inject, Input, } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '../../../@core/backend/receptionist/services/auth.service';\r\n@Component({\r\n  selector: 'r247-registration-success',\r\n  templateUrl: './registration-success.component.html',\r\n  changeDetection: ChangeDetectionStrategy.Default\r\n})\r\n\r\nexport class R247RegistrationSuccessComponent {\r\n  constructor(\r\n    protected router: Router,\r\n    private authenticationService: AuthService) { }\r\n\r\n    @Input() prefix = '';\r\n    @Input() range = '';\r\n    @Input() number = '';\r\n    @Input() userEmail = '';\r\n    @Input() password = '';\r\n\r\n  goToDashboard() {\r\n    this.authenticationService.login(this.userEmail, this.password).then()\r\n      .then((result: any) => {\r\n        this.router.navigateByUrl(`/${result.userType}`);\r\n      }, \r\n      () => this.router.navigateByUrl('/auth/login?retry=1'));\r\n  }\r\n}","<div class=\"row\">\r\n    <div class=\"col-12\">\r\n        <div class=\"card\">\r\n            <div class=\"card-header\">\r\n                Registration Successful\r\n            </div>\r\n            <div class=\"card-body\">\r\n                <div class=\"row\">\r\n                    <div class=\"col-12 mb-3\"><h1>You have sucessfully registered your account.</h1></div>\r\n                    <div class=\"col-12\">Pick up the phone, call your number <strong>{{prefix}} {{range}} {{number}}</strong> and say hello to your new receptionist.</div>\r\n                </div>\r\n            </div>\r\n            <div class=\"card-footer\">\r\n                <button class=\"btn btn-primary float-right\" (click)=\"goToDashboard()\">Dashboard</button>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>","import { Component, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'r247-terms-and-conditions',\r\n  templateUrl: './terms-and-conditions.component.html',\r\n  changeDetection: ChangeDetectionStrategy.Default\r\n})\r\n\r\nexport class R247TermsAndConditionsComponent {\r\n  constructor() { }\r\n    @Output() previousStep = new EventEmitter();\r\n    @Output() stepComplete = new EventEmitter();\r\n}","<h1 class=\"text-center\">Agreement To Terms</h1>\r\n<div style=\"max-height: calc(100vh-250px);\" class=\"card\">\r\n    <div class=\"card-header\">Terms &amp; Conditions</div>\r\n    <div class=\"card-body\">\r\n      <h1>DUMMY</h1>>\r\n    </div>\r\n  </div>\r\n  <r247-stepper-buttons nextCaption=\"Agree\" (previousStep)=\"previousStep.emit()\" (nextStep)=\"stepComplete.emit()\"></r247-stepper-buttons>","export const environment = {\r\n  production: false,\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n  enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n  .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///"}