{"version":3,"sources":["webpack:///./src/components/form/PrimaryContactInput.vue?4b72","webpack:///../../../src/components/VForm/VForm.ts","webpack:///./src/components/form/PrimaryContactInput.vue","webpack:///./src/components/form/PrimaryContactInput.vue?b7c5","webpack:///./src/components/form/PrimaryContactInput.vue?2f0b","webpack:///./src/components/form/PrimaryContactInput.vue?35c8","webpack:///../../../src/mixins/rippleable/index.ts","webpack:///../../../src/components/VCheckbox/VCheckbox.ts","webpack:///../../../src/mixins/selectable/index.ts"],"names":["mixins","BindsAttrs","RegistrableProvide","extend","name","provide","form","this","inheritAttrs","props","disabled","Boolean","lazyValidation","readonly","value","data","inputs","watchers","errorBag","watch","handler","val","errors","Object","values","includes","$emit","deep","immediate","methods","watchInput","input","watcher","$watch","$set","_uid","valid","shouldValidate","hasOwnProperty","validate","filter","length","reset","forEach","resetErrorBag","setTimeout","resetValidation","register","push","unregister","found","find","i","unwatch","$delete","render","h","staticClass","attrs","novalidate","attrs$","on","submit","e","getSlot","ref","_c","_vm","scopedSlots","key","proxy","model","callback","expression","_v","emailError","updatePersonalInfo","emailInput","phoneError","phoneInput","staticRenderFns","Vue","errorResponse","type","required","loading","phoneRules","v","test","emailRules","isPrimaryContact","bindProps","mode","defaultCountry","disabledFetchingCountry","disabledFormatting","placeholder","enabledCountryCode","enabledFlags","preferredCountries","onlyCountries","ignoredCountries","autocomplete","maxLen","wrapperClasses","inputClasses","dropdownOptions","disabledDialCode","emailErrorMsg","phoneErrorMsg","replace","_errors$CreateTenantE","_errors$CreateTenantE2","hasOwn","CreateTenantErrorTypes","email","phoneNumber","computed","isFormValid","_this$$refs","_form$validate","$refs","personalInfoForm","userEmail","$vStore","state","oidcStore","user","userPhoneNumber","phone_number","isPersonalInfoStored","tenantData","$store","context","createTenantFormData","getStoredFormData","mounted","storedData","_this$phoneInput$repl","_this$emailInput","dispatch","console","log","newEmail","newPhoneNumber","component","directives","ripple","default","genRipple","center","$createElement","Selectable","indeterminate","indeterminateIcon","String","offIcon","onIcon","inputIndeterminate","classes","VInput","options","call","computedIcon","isActive","validationState","isDisabled","hasError","hasSuccess","hasColor","computedColor","$nextTick","genCheckbox","title","checkboxAttrs","VIcon","setTextColor","dense","dark","light","genInput","toString","rippleState","genDefaultSlot","genLabel","prevent","preventDefault","Rippleable","Comparable","prop","event","id","inputValue","falseValue","trueValue","multiple","label","lazyValue","color","isDark","appIsDark","isMultiple","Array","isArray","internalValue","some","item","valueComparator","undefined","isDirty","click","assign","computedId","role","domProps","checked","blur","onBlur","change","onChange","focus","onFocus","keydown","onKeydown","onClick","isInteractive","isFocused"],"mappings":"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","file":"js/chunk-5d8b34b7.65dd0b9d.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryContactInput.vue?vue&type=style&index=0&id=275c7e8a&prod&scoped=true&lang=css\"","// Components\nimport VInput from '../VInput/VInput'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Helpers\nimport { VNode } from 'vue'\nimport { getSlot } from '../../util/helpers'\n\ntype ErrorBag = Record\ntype VInputInstance = InstanceType\ntype Watchers = {\n _uid: number\n valid: () => void\n shouldValidate: () => void\n}\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n RegistrableProvide('form')\n /* @vue/component */\n).extend({\n name: 'v-form',\n\n provide (): object {\n return { form: this }\n },\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n value: Boolean,\n },\n\n data: () => ({\n inputs: [] as VInputInstance[],\n watchers: [] as Watchers[],\n errorBag: {} as ErrorBag,\n }),\n\n watch: {\n errorBag: {\n handler (val) {\n const errors = Object.values(val).includes(true)\n\n this.$emit('input', !errors)\n },\n deep: true,\n immediate: true,\n },\n },\n\n methods: {\n watchInput (input: any): Watchers {\n const watcher = (input: any): (() => void) => {\n return input.$watch('hasError', (val: boolean) => {\n this.$set(this.errorBag, input._uid, val)\n }, { immediate: true })\n }\n\n const watchers: Watchers = {\n _uid: input._uid,\n valid: () => {},\n shouldValidate: () => {},\n }\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', (val: boolean) => {\n if (!val) return\n\n // Only watch if we're not already doing it\n if (this.errorBag.hasOwnProperty(input._uid)) return\n\n watchers.valid = watcher(input)\n })\n } else {\n watchers.valid = watcher(input)\n }\n\n return watchers\n },\n /** @public */\n validate (): boolean {\n return this.inputs.filter(input => !input.validate(true)).length === 0\n },\n /** @public */\n reset (): void {\n this.inputs.forEach(input => input.reset())\n this.resetErrorBag()\n },\n resetErrorBag () {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {}\n }, 0)\n }\n },\n /** @public */\n resetValidation () {\n this.inputs.forEach(input => input.resetValidation())\n this.resetErrorBag()\n },\n register (input: VInputInstance) {\n this.inputs.push(input)\n this.watchers.push(this.watchInput(input))\n },\n unregister (input: VInputInstance) {\n const found = this.inputs.find(i => i._uid === input._uid)\n\n if (!found) return\n\n const unwatch = this.watchers.find(i => i._uid === found._uid)\n if (unwatch) {\n unwatch.valid()\n unwatch.shouldValidate()\n }\n\n this.watchers = this.watchers.filter(i => i._uid !== found._uid)\n this.inputs = this.inputs.filter(i => i._uid !== found._uid)\n this.$delete(this.errorBag, found._uid)\n },\n },\n\n render (h): VNode {\n return h('form', {\n staticClass: 'v-form',\n attrs: {\n novalidate: true,\n ...this.attrs$,\n },\n on: {\n submit: (e: Event) => this.$emit('submit', e),\n },\n }, getSlot(this))\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-form',{ref:\"personalInfoForm\",staticClass:\"stepper-form d-flex justify-center flex-column\"},[_c('div',[_c('v-checkbox',{on:{\"change\":function($event){return _vm.autofillPrimaryContact()}},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_vm._v(\" Add me as the primary contact \")]},proxy:true}]),model:{value:(_vm.isPrimaryContact),callback:function ($$v) {_vm.isPrimaryContact=$$v},expression:\"isPrimaryContact\"}})],1),_c('div',{staticClass:\"input-wrapper\"},[_c('h3',{staticClass:\"mb-2\"},[_vm._v(\"E-mail\")]),_c('v-text-field',{staticClass:\"mb-1\",attrs:{\"clearable\":\"\",\"outlined\":\"\",\"solo\":\"\",\"flat\":\"\",\"placeholder\":\"Enter the e-mail address of primary contact\",\"label\":\"E-mail\",\"rules\":_vm.emailRules,\"disabled\":_vm.isPrimaryContact && _vm.emailInput.length > 0,\"error\":_vm.emailError,\"error-messages\":_vm.emailErrorMsg},on:{\"change\":function($event){return _vm.updatePersonalInfo()}},model:{value:(_vm.emailInput),callback:function ($$v) {_vm.emailInput=$$v},expression:\"emailInput\"}})],1),_c('div',{staticClass:\"input-wrapper\"},[_c('h3',{staticClass:\"mb-2\"},[_vm._v(\"Mobile phone number\")]),_c('vue-tel-input-vuetify',_vm._b({attrs:{\"outlined\":\"\",\"clearable\":\"\",\"solo\":\"\",\"flat\":\"\",\"placeholder\":\"Enter the mobile phone number of the primary contact\",\"label\":\"Mobile phone number\",\"rules\":_vm.phoneRules,\"disabled\":_vm.isPrimaryContact && _vm.phoneInput.length > 0,\"error\":_vm.phoneError,\"error-messages\":_vm.phoneErrorMsg},on:{\"clear:append\":function($event){_vm.phoneInput = ''},\"input\":function($event){return _vm.updatePersonalInfo()}},model:{value:(_vm.phoneInput),callback:function ($$v) {_vm.phoneInput=$$v},expression:\"phoneInput\"}},'vue-tel-input-vuetify',_vm.bindProps,false))],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\nimport { CreateTenantErrorTypes } from \"@/types/enums\";\nimport { CreateTenantPayload } from \"@/types/requests\";\nimport { CreateTenantErrorResponse } from \"@/types/responses\" \n\nimport Vue from \"vue\";\nexport default Vue.extend({\n name: \"PrimaryContactInput\",\n props: {\n errorResponse: {\n type: Object as () => CreateTenantErrorResponse || null,\n\t\t\trequired: false\n }\n },\n data(): {\n loading: boolean\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n phoneRules: any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n emailRules: any\n emailInput: string\n phoneInput: string\n isPrimaryContact: boolean\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n bindProps: any\n //error-overrides\n emailError: boolean\n emailErrorMsg: string[]\n phoneError: boolean\n phoneErrorMsg: string[]\n } {\n return {\n loading: false,\n phoneRules: [\n (v: string) => /^(?:.*\\d){8,}$/.test(v) || 'Phone number must be atleast 8 digits.', // [a-zæøåA-ZÆØÅäöÄÖ\\- ]\n ],\n emailRules: [\n (v: string) => /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$/.test(v) || 'Please use a valid e-mail format',\n ],\n emailInput: \"\",\n phoneInput: \"\",\n isPrimaryContact: false,\n bindProps: {\n mode: \"international\",\n defaultCountry: \"NO\",\n disabledFetchingCountry: false,\n disabled: false,\n disabledFormatting: false,\n placeholder: \"Enter a phone number\",\n required: false,\n enabledCountryCode: false,\n enabledFlags: true,\n preferredCountries: [\"NO\", \"SE\", \"DK\", \"PL\", \"GB\"],\n onlyCountries: [],\n ignoredCountries: [],\n autocomplete: \"off\",\n name: \"telephone\",\n maxLen: 25,\n wrapperClasses: \"\",\n inputClasses: \"\",\n dropdownOptions: {\n disabledDialCode: false\n }\n },\n emailError: false,\n emailErrorMsg: [],\n phoneError: false,\n phoneErrorMsg: []\n }\n },\n watch: {\n emailInput (val) {\n this.emailInput = val.replace(/[\\s/]/g, '');\n },\n errorResponse: {\n handler(errors: CreateTenantErrorResponse | null){\n if(errors){\n if(Object.hasOwn(errors, CreateTenantErrorTypes.email)){\n this.emailError = true\n this.emailErrorMsg = errors[CreateTenantErrorTypes.email as keyof typeof errors] ?? []\n }\n if(Object.hasOwn(errors, CreateTenantErrorTypes.phoneNumber)){\n this.phoneError = true\n this.phoneErrorMsg = errors[CreateTenantErrorTypes.phoneNumber as keyof typeof errors] ?? []\n }\n }\n }\n }\n },\n computed: {\n isFormValid(): boolean {\n \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const form: any = this?.$refs?.personalInfoForm\n return form.validate() ?? false\n },\n userEmail(): string {\n\t\t\treturn this.$vStore.state.oidcStore.user.email\n\t\t},\n userPhoneNumber(): string {\n\t\t\treturn this.$vStore.state.oidcStore.user.phone_number\n\t\t},\n isPersonalInfoStored(): boolean {\n const tenantData: CreateTenantPayload = this.$store.state.context.createTenantFormData\n if(tenantData.phoneNumber && tenantData.email){\n return true\n }\n return false\n },\n getStoredFormData(): CreateTenantPayload {\n return this.$store.state.context.createTenantFormData\n }\n },\n mounted() {\n const storedData: CreateTenantPayload = this.getStoredFormData\n this.emailInput = storedData.email\n this.phoneInput = storedData.phoneNumber\n },\n methods: {\n async updatePersonalInfo(){\n if(this.isFormValid || this.isPrimaryContact){\n const tenantData: CreateTenantPayload = await this.$store.state.context.createTenantFormData\n tenantData.phoneNumber = this.phoneInput.replace(/\\s/g, '') ?? \"\"\n tenantData.email = this.emailInput ?? \"\"\n await this.$store.dispatch(\"context/setCreateTenantFormData\", tenantData)\n }else if(this.isPersonalInfoStored){\n // if form is not valid, and has info stored, clear data to make form invalid\n const tenantData: CreateTenantPayload = await this.$store.state.context.createTenantFormData\n tenantData.phoneNumber = \"\"\n tenantData.email = \"\"\n await this.$store.dispatch(\"context/setCreateTenantFormData\", tenantData)\n }\n },\n async autofillPrimaryContact(){\n console.log(\"[PrimaryContactInput] - Autofilling...\")\n let newEmail = \"\"\n let newPhoneNumber = \"\"\n\n if(this.isPrimaryContact){\n // update the form object\n newEmail = this.userEmail\n newPhoneNumber = this.userPhoneNumber\n }\n\n // Set input data - this will trigger updatePersonalInfo()\n this.emailInput = newEmail\n this.phoneInput = newPhoneNumber\n }\n\n }\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryContactInput.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrimaryContactInput.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./PrimaryContactInput.vue?vue&type=template&id=275c7e8a&scoped=true\"\nimport script from \"./PrimaryContactInput.vue?vue&type=script&lang=ts\"\nexport * from \"./PrimaryContactInput.vue?vue&type=script&lang=ts\"\nimport style0 from \"./PrimaryContactInput.vue?vue&type=style&index=0&id=275c7e8a&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"275c7e8a\",\n null\n \n)\n\nexport default component.exports","// Directives\nimport ripple from '../../directives/ripple'\n\n// Types\nimport Vue, { VNode, VNodeData, VNodeDirective } from 'vue'\n\nexport default Vue.extend({\n name: 'rippleable',\n\n directives: { ripple },\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n methods: {\n genRipple (data: VNodeData = {}): VNode | null {\n if (!this.ripple) return null\n\n data.staticClass = 'v-input--selection-controls__ripple'\n\n data.directives = data.directives || []\n data.directives.push({\n name: 'ripple',\n value: { center: true },\n } as VNodeDirective)\n\n return this.$createElement('div', data)\n },\n },\n})\n","// Styles\nimport './VCheckbox.sass'\nimport '../../styles/components/_selection-controls.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-checkbox',\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n data () {\n return {\n inputIndeterminate: this.indeterminate,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls': true,\n 'v-input--checkbox': true,\n 'v-input--indeterminate': this.inputIndeterminate,\n }\n },\n computedIcon (): string {\n if (this.inputIndeterminate) {\n return this.indeterminateIcon\n } else if (this.isActive) {\n return this.onIcon\n } else {\n return this.offIcon\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.isDisabled && !this.inputIndeterminate) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n },\n\n watch: {\n indeterminate (val) {\n // https://github.com/vuetifyjs/vuetify/issues/8270\n this.$nextTick(() => (this.inputIndeterminate = val))\n },\n inputIndeterminate (val) {\n this.$emit('update:indeterminate', val)\n },\n isActive () {\n if (!this.indeterminate) return\n this.inputIndeterminate = false\n },\n },\n\n methods: {\n genCheckbox () {\n const { title, ...checkboxAttrs } = this.attrs$\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.dense,\n dark: this.dark,\n light: this.light,\n },\n }), this.computedIcon),\n this.genInput('checkbox', {\n ...checkboxAttrs,\n 'aria-checked': this.inputIndeterminate\n ? 'mixed'\n : this.isActive.toString(),\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n genDefaultSlot () {\n return [\n this.genCheckbox(),\n this.genLabel(),\n ]\n },\n },\n})\n","// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport function prevent (e: Event) {\n e.preventDefault()\n}\n\n/* @vue/component */\nexport default mixins(\n VInput,\n Rippleable,\n Comparable\n).extend({\n name: 'selectable',\n\n model: {\n prop: 'inputValue',\n event: 'change',\n },\n\n props: {\n id: String,\n inputValue: null as any,\n falseValue: null as any,\n trueValue: null as any,\n multiple: {\n type: Boolean,\n default: null,\n },\n label: String,\n },\n\n data () {\n return {\n hasColor: this.inputValue,\n lazyValue: this.inputValue,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (!this.isActive) return undefined\n if (this.color) return this.color\n if (this.isDark && !this.appIsDark) return 'white'\n return 'primary'\n },\n isMultiple (): boolean {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive (): boolean {\n const value = this.value\n const input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false\n\n return input.some(item => this.valueComparator(item, value))\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value\n ? this.valueComparator(value, input)\n : Boolean(input)\n }\n\n return this.valueComparator(input, this.trueValue)\n },\n isDirty (): boolean {\n return this.isActive\n },\n rippleState (): string | undefined {\n return !this.isDisabled && !this.validationState\n ? undefined\n : this.validationState\n },\n },\n\n watch: {\n inputValue (val) {\n this.lazyValue = val\n this.hasColor = val\n },\n },\n\n methods: {\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n label!.data!.on = {\n // Label shouldn't cause the input to focus\n click: prevent,\n }\n\n return label\n },\n genInput (type: string, attrs: object) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type,\n }, attrs),\n domProps: {\n value: this.value,\n checked: this.isActive,\n },\n on: {\n blur: this.onBlur,\n change: this.onChange,\n focus: this.onFocus,\n keydown: this.onKeydown,\n click: prevent,\n },\n ref: 'input',\n })\n },\n onClick (e: Event) {\n this.onChange()\n this.$emit('click', e)\n },\n onChange () {\n if (!this.isInteractive) return\n\n const value = this.value\n let input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = []\n }\n\n const length = input.length\n\n input = input.filter((item: any) => !this.valueComparator(item, value))\n\n if (input.length === length) {\n input.push(value)\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value\n } else {\n input = !input\n }\n\n this.validate(true, input)\n this.internalValue = input\n this.hasColor = input\n },\n onFocus (e: FocusEvent) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: FocusEvent) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n /** @abstract */\n onKeydown (e: Event) {},\n },\n})\n"],"sourceRoot":""}