{"version":3,"sources":["webpack:///./components/Mixin/MixinForm.js","webpack:///./components/GroupContact/Contact/AddPhone/ConstAddPhoneContactGroupContactComponent.js","webpack:///./components/Company/Testphone/TableTestphoneCompanyComponent.vue","webpack:///components/Company/Testphone/TableTestphoneCompanyComponent.vue","webpack:///./components/Company/Testphone/TableTestphoneCompanyComponent.vue?00ec","webpack:///./components/Company/Testphone/TableTestphoneCompanyComponent.vue?8d49","webpack:///./components/Widget/WidgetInputPhone.vue","webpack:///components/Widget/WidgetInputPhone.vue","webpack:///./components/Widget/WidgetInputPhone.vue?d185","webpack:///./components/Widget/WidgetInputPhone.vue?a95f","webpack:///./components/Company/Testphone/ModalVerification/FormCodeModalVerificationTestphoneCompanyComponent.vue?21d2","webpack:///./components/Company/Testphone/ModalVerificationTestphoneCompanyComponent.vue","webpack:///./api/api-gateway/onboarding/testphone.ts","webpack:///./components/Company/Testphone/ModalVerification/FormCodeModalVerificationTestphoneCompanyComponent.vue?6d2f","webpack:///./components/Company/Testphone/ModalVerification/FormCodeModalVerificationTestphoneCompanyComponent.vue?fc37","webpack:///./components/Company/Testphone/ModalVerification/FormCodeModalVerificationTestphoneCompanyComponent.vue?cd12","webpack:///./components/Company/Testphone/ModalVerification/FormCodeModalVerificationTestphoneCompanyComponent.vue","webpack:///./components/Company/Testphone/ModalVerification/FormPhoneModalVerificationTestphoneCompanyComponent.vue?609d","webpack:///components/Company/Testphone/ModalVerification/FormPhoneModalVerificationTestphoneCompanyComponent.vue","webpack:///./components/Company/Testphone/ModalVerification/FormPhoneModalVerificationTestphoneCompanyComponent.vue?ff92","webpack:///./components/Company/Testphone/ModalVerification/FormPhoneModalVerificationTestphoneCompanyComponent.vue","webpack:///components/Company/Testphone/FormVerificationTestphoneCompanyComponent.vue","webpack:///./components/Company/Testphone/FormVerificationTestphoneCompanyComponent.vue?000a","webpack:///./components/Company/Testphone/ModalVerificationTestphoneCompanyComponent.vue?0017","webpack:///./components/Company/Testphone/ModalVerificationTestphoneCompanyComponent.vue?fb4c","webpack:///./components/Company/Testphone/FormVerificationTestphoneCompanyComponent.vue?27fd","webpack:///./components/Company/Testphone/FormVerificationTestphoneCompanyComponent.vue","webpack:///./components/Company/Testphone/ModalVerificationTestphoneCompanyComponent.vue?ab22","webpack:///./pages/company/testphone/index.vue","webpack:///pages/company/testphone/index.vue","webpack:///./pages/company/testphone/index.vue?8380","webpack:///./pages/company/testphone/index.vue?2225"],"names":["inject","props","loading","type","Boolean","default","method","String","item","Object","data","submit","methods","onDelete","_this","_asyncToGenerator","regeneratorRuntime","mark","_callee","wrap","_context","prev","next","onDeleteItem","call","sent","$router","push","name","indexRoute","stop","routerPushAfterStore","result","this","onSubmitValid","_this2","_callee2","_context2","abrupt","errors","clear","formName","$validator","validateAll","onSubmitSend","param","_this3","_callee3","_context3","$store","dispatch","concat","storePath","onSubmitSendSuccess","_ref","arguments","length","undefined","_ref$onCreate","onCreate","_ref$onEdit","onEdit","window","PNotify","alert","title","$t","text","onSubmitSendSuccessParamText","addClass","isCreate","onSubmitSendFail","e","catchDispatch","itemMerge","_this4","entries","forEach","_ref2","_ref3","_slicedToArray","k","v","_typeof","JSON","parse","stringify","$set","itemData","computed","replace","tForm","isEdit","watch","created","tParams","params","phone","bg","first_name","second_name","last_name","birth_day","code","email","date","sum","param_1","param_2","param_3","SEPARATE_SYMBOL_COMMA","SEPARATE_SYMBOL_SEMICOLON","PHONES_SOURCE_FILE","PHONES_SOURCE_TEXTAREA","EVENT_CHECK_PROCESSING_DONE","_x","_onDeleteItem","apply","id","confirm","t0","mixins","MixinTable","fields","Array","key","nameIsLink","fields_label","actions","component","_vm","_c","_self","staticClass","class","selectedAll","isSelectedAll","attrs","fields_","items_","sortBySync","sortDescSync","on","$event","scopedSlots","_u","fn","selectedTypeCheckbox","model","value","callback","$$v","expression","_e","selectedTypeCheckboxComponent","tag","selected_","_l","prop","directives","rawName","modifiers","_v","_s","totalRows","perPage","currentPage","$emit","components","TheMask","Number","showFlag","autoDetectCountry","defaultCountry","flagSize","disabled","wrapperClass","inputClass","flagClass","innerValue","countryCode","mask","defaultMask","country","isValid","plusTokens","pattern","placeholder","_this$$store$state$au","allCountries","reduce","r","_objectSpread","_defineProperty","state","auth","tenant","location_country","phoneCode","split","i","includes","currentNumber","plus","test","filteredNumberArr","match","filteredNumber","join","val","onInput","number","isValidByLibPhoneNumberJs","beforeMount","visitorContryInfo","visitorInfo","visitorCountry","alpha2","updateMaskData","mounted","$refs","phoneMask","$el","onblur","onfocus","filteredValue","$nextTick","setTimeout","setFocusToEnd","bind","focus","setSelectionRange","phoneInfo","parsePhoneNumberFromString","findFirstCountryByAlpha2","countryCallingCode","isCanada","findFirstCountryByCode","computedMask","getMaskToLibPhoneNumber","computedCountry","toLowerCase","ref","setAutoonboardingTestphoneCode","_setAutoonboardingTestphoneCode","response","axios","post","MixinForm","channel","required","request_id","verification_ttl","cooldown","timer","working","now","interval","tgNotFound","channelChanged","testphone","signalTelegramUnavailable","runCheckTimer","beforeDestroy","clearInterval","Date","getTime","setInterval","checkTime","diff","Math","round","$props","onErrorSessionNotFound","onSubmit","_catchDispatchErrorMs","eMsg","attemptMatch","attempt_max","attempt","catchDispatchErrorMsg","error_message","_wrapRegExp","groups","parseInt","finish","staticStyle","require","proxy","domProps","has","target","composing","first","preventDefault","InputPhone","phoneSubmit","FormPhone","FormCode","formShow","submitPhone","_response","url","errorVerificationsPhoneSessionExist","track","channels","api","phones","verification","telegram","then","location","host","startsWith","phone_unconfirmed","t1","duration","clearPhone","formCodeOnSuccess","FormVerification","show","show_","get","set","slot","scrollToTop","MixinTitle","subtitle","modalVerificationShow","table","filter","q","$route","query","items","sortBy","sortDesc","tableFetchDebounce","debounce","tableFetch","sort","sortString","page","pagesize","modalVerificationOnSuccess","showPhoneEmpty","hasNotFilter","values","f","firstPage","hasNotItems","TestphoneTable","ModalVerification","WidgetStubEmpty","_m"],"mappings":"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","file":"409e119.js","sourcesContent":["import {catchDispatch} from '~/utils/form';\n\nexport default {\n  inject: ['$validator'],\n  props: {\n    loading: {\n      type: Boolean,\n      default: false,\n    },\n    method: {\n      type: String,\n      //required: true,\n      //validator: value => ['create', 'edit'].includes(value),\n      default: 'create',\n    },\n    item: {\n      type: Object,\n      default: () => ({}),\n    },\n  },\n  data() {\n    return {\n      submit: false,\n    };\n  },\n  methods: {\n    async onDelete(item) {\n      const result = await this.onDeleteItem.call(this, item);\n      if (result) {\n        this.$router.push({name: this.indexRoute});\n      }\n    },\n    routerPushAfterStore(result, route_name_id = 'id', result_id = 'id') {\n      return {\n        name: this.indexRoute,\n      };\n    },\n    async onSubmitValid() {\n      if (this.submit) return false;\n      this.submit = true;\n\n      this.errors.clear(this.formName);\n\n      const r = await this.$validator.validateAll(this.formName);\n      //console.info('onSubmitValid | r = ', r);\n      if (!r) {\n        this.submit = false;\n        return false;\n      }\n      return true;\n    },\n    async onSubmitSend(param) {\n      const result = await this.$store.dispatch(\n        `${this.storePath}/${this.method}`,\n        param,\n      );\n      //console.info(`dispatch | ${this.storePath}/`, this.method, ' | result = ', result);\n\n      return result;\n    },\n    onSubmitSendSuccess({result, onCreate = null, onEdit = null} = {}) {\n      window.PNotify.alert({\n        title: this.$t('home.success'),\n        text: this.$t(this.onSubmitSendSuccessParamText),\n        addClass: 'bg-success',\n      });\n\n      if (this.isCreate) {\n        if (onCreate && typeof onCreate === 'function') {\n          onCreate();\n        } else {\n          this.submit = false;\n        }\n      } else {\n        if (onEdit && typeof onEdit === 'function') {\n          onEdit();\n        } else {\n          this.submit = false;\n        }\n      }\n      const routerPushAfterStore = this.routerPushAfterStore(result);\n      //console.info('routerPushAfterStore = ',routerPushAfterStore);\n      this.$router.push(routerPushAfterStore);\n    },\n    onSubmitSendFail(e) {\n      this.submit = false;\n      catchDispatch(this, e);\n    },\n    itemMerge(item) {\n      Object.entries(item).forEach(([k, v]) => {\n        if (typeof v === 'object') {\n          v = JSON.parse(JSON.stringify(v))\n        }\n        this.$set(this.itemData, k, v)\n      })\n    },\n  },\n  computed: {\n    formName() {\n      return `${this.storePath}/form`;\n    },\n    indexRoute() {\n      return this.storePath.replace(/\\//g, '-').replace(/\\-form/g, '');\n    },\n    onSubmitSendSuccessParamText() {\n      return this.tForm + '.save_success';\n    },\n    isCreate() {\n      return this.method === 'create';\n    },\n    isEdit() {\n      return this.method === 'edit';\n    },\n  },\n  watch: {\n    item(item) {\n      this.itemMerge(item);\n    },\n  },\n  created() {\n    //this.itemData = merge(this.$options.data().itemData, this.item);\n    //this.itemData = merge(this.itemData, this.item);\n    this.itemMerge(this.item);\n    this.errors.clear(this.name);\n    this.submit = false;\n  },\n}\n","const tParams = 'group_contact.file_upload_modal';\n\nexport const params = {\n  phone: { title: tParams + '.params_phone', bg: '' },\n  name: { title: tParams + '.params_name', bg: 'badge-primary' },\n  first_name: { title: tParams + '.params_first_name', bg: 'badge-primary' },\n  second_name: { title: tParams + '.params_second_name', bg: 'badge-primary' },\n  last_name: { title: tParams + '.params_last_name', bg: 'badge-primary' },\n  birth_day: { title: tParams + '.params_birth_day', bg: 'bg-violet-300' },\n  code: { title: tParams + '.params_code', bg: 'bg-purple-300' },\n  email: { title: tParams + '.params_email', bg: 'bg-indigo-300' },\n  date: { title: tParams + '.params_date', bg: 'bg-orange-300' },\n  sum: { title: tParams + '.params_sum', bg: 'bg-teal' },\n  param_1: { title: tParams + '.params_param_1', bg: 'bg-info' },\n  param_2: { title: tParams + '.params_param_2', bg: 'bg-info' },\n  param_3: { title: tParams + '.params_param_3', bg: 'bg-info' },\n};\n\nexport const SEPARATE_SYMBOL_COMMA = 'comma';\nexport const SEPARATE_SYMBOL_SEMICOLON = 'semicolon';\n\nexport const PHONES_SOURCE_FILE = 'file';\nexport const PHONES_SOURCE_TEXTAREA = 'textarea';\n\nexport const EVENT_CHECK_PROCESSING_DONE = 'GroupContact/Contact/AddPhone/CheckProcessing/Done';\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b2-table',{staticClass:\"table-hover\",class:{selectedAll: _vm.isSelectedAll},attrs:{\"fields\":_vm.fields_,\"items\":_vm.items_,\"sort-by\":_vm.sortBySync,\"sort-desc\":_vm.sortDescSync,\"show-empty\":\"\",\"stacked\":\"sm\"},on:{\"update:sortBy\":function($event){_vm.sortBySync=$event},\"update:sort-by\":function($event){_vm.sortBySync=$event},\"update:sortDesc\":function($event){_vm.sortDescSync=$event},\"update:sort-desc\":function($event){_vm.sortDescSync=$event}},scopedSlots:_vm._u([{key:\"HEAD_id\",fn:function(data){return [(_vm.selectedTypeCheckbox)?_c('widget-form-checkbox',{model:{value:(_vm.selectedAll),callback:function ($$v) {_vm.selectedAll=$$v},expression:\"selectedAll\"}}):_vm._e()]}},{key:\"id\",fn:function(data){return [_c(_vm.selectedTypeCheckboxComponent,{tag:\"component\",attrs:{\"value\":data.item.id},model:{value:(_vm.selected_),callback:function ($$v) {_vm.selected_=$$v},expression:\"selected_\"}})]}},{key:\"params\",fn:function(data){return _vm._l((_vm.params),function(prop,param){return (data.item.params[param] && data.item.params[param] !== '' && param !== 'phone')?_c('span',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],key:param,staticClass:\"badge mr-2\",class:[prop.bg || ''],attrs:{\"title\":_vm.$t(prop.title + '_name')}},[_vm._v(\"\\n          \"+_vm._s(data.item.params[param])+\"\\n        \")]):_vm._e()})}},{key:\"actions\",fn:function(data){return _c('actions-list',{attrs:{\"item\":data.item,\"action-show-disabled\":true,\"route-id-name\":\"id\",\"route-to-name\":\"company-testphone\"},on:{\"delete\":_vm.onDelete}})}}])}),_vm._v(\" \"),(_vm.totalRows / _vm.perPage > 1)?_c('div',{staticClass:\"datatable-footer\"},[_c('div',{staticClass:\"dataTables_info\",attrs:{\"aria-live\":\"polite\",\"role\":\"status\"}}),_vm._v(\" \"),_c('div',{staticClass:\"dataTables_paginate paging_simple_numbers\"},[_c('b-pagination',{attrs:{\"hide-goto-end-buttons\":true,\"per-page\":_vm.perPage,\"total-rows\":_vm.totalRows,\"value\":_vm.currentPage},on:{\"input\":function($event){return _vm.$emit('update:currentPage', arguments[0])}}})],1)]):_vm._e(),_vm._v(\" \"),(_vm.loading)?_c('widget-loader'):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <b2-table\n      :class=\"{selectedAll: isSelectedAll}\"\n      :fields=\"fields_\"\n      :items=\"items_\"\n      :sort-by.sync=\"sortBySync\"\n      :sort-desc.sync=\"sortDescSync\"\n      class=\"table-hover\"\n      show-empty\n      stacked=\"sm\">\n      <template slot=\"HEAD_id\" slot-scope=\"data\">\n        <widget-form-checkbox\n          v-if=\"selectedTypeCheckbox\"\n          v-model=\"selectedAll\"/>\n      </template>\n      <template slot=\"id\" slot-scope=\"data\">\n        <component\n          :is=\"selectedTypeCheckboxComponent\"\n          :value=\"data.item.id\"\n          v-model=\"selected_\"/>\n      </template>\n      <template slot=\"params\" slot-scope=\"data\">\n          <span :class=\"[prop.bg || '']\"\n                :key=\"param\"\n                v-b-tooltip.hover\n                :title=\"$t(prop.title + '_name')\"\n                class=\"badge mr-2\"\n                v-for=\"(prop, param) in params\"\n                v-if=\"data.item.params[param] && data.item.params[param] !== '' && param !== 'phone'\">\n            {{data.item.params[param]}}\n          </span>\n      </template>\n      <actions-list\n        :item=\"data.item\" @delete=\"onDelete\"\n        :action-show-disabled=\"true\"\n        route-id-name=\"id\"\n        route-to-name=\"company-testphone\"\n        slot=\"actions\"\n        slot-scope=\"data\"/>\n    </b2-table>\n    <div v-if=\"totalRows / perPage > 1\" class=\"datatable-footer\">\n      <div aria-live=\"polite\" class=\"dataTables_info\" role=\"status\"></div>\n      <div class=\"dataTables_paginate paging_simple_numbers\">\n        <b-pagination\n          :hide-goto-end-buttons=\"true\"\n          :per-page=\"perPage\"\n          :total-rows=\"totalRows\"\n          :value=\"currentPage\"\n          @input=\"$emit('update:currentPage', arguments[0])\"></b-pagination>\n      </div>\n    </div>\n    <widget-loader v-if=\"loading\"/>\n  </div>\n</template>\n\n<script>\n  import {catchDispatch} from '~/utils/form';\n  import MixinTable from '~/components/Mixin/MixinTable';\n  import {params} from '~/components/GroupContact/Contact/AddPhone/ConstAddPhoneContactGroupContactComponent';\n\n  export async function onDeleteItem({id, phone}) {\n    if (!confirm(this.$t('company.testphone.table.delete_confirm', {phone}))) {\n      return false;\n    }\n    try {\n      await this.$store.dispatch('company/testphone/delete', {id});\n      window.PNotify.alert({\n        title: this.$t('home.success'),\n        text: this.$t('company.testphone.table.delete_success', {phone}),\n        addClass: 'bg-success',\n      });\n      return true;\n    } catch (e) {\n      catchDispatch(this, e);\n      throw e;\n    }\n  }\n\n  export default {\n    mixins: [MixinTable],\n    props: {\n      fields: {\n        type: Array,\n        default() {\n          return [\n            {key: 'phone'},\n            {key: 'params'},\n            {key: 'actions'},\n          ];\n        },\n      },\n      nameIsLink: {\n        type: Boolean,\n        default: true,\n      },\n    },\n    data() {\n      return {\n        params,\n        fields_label: {\n          phone: 'company.testphone.table.phone',\n          params: 'company.testphone.table.params',\n          actions: 'home.actions',\n        },\n      };\n    },\n    methods: {\n      onDeleteItem,\n    },\n  };\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./TableTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./TableTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TableTestphoneCompanyComponent.vue?vue&type=template&id=e2a84870&scoped=true&\"\nimport script from \"./TableTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"\nexport * from \"./TableTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"e2a84870\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('the-mask',{ref:\"phoneMask\",class:_vm.inputClass,attrs:{\"mask\":_vm.mask,\"value\":_vm.innerValue,\"tokens\":_vm.plusTokens,\"placeholder\":_vm.placeholder,\"disabled\":_vm.disabled,\"masked\":\"\",\"type\":\"tel\"},on:{\"input\":_vm.onInput}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <the-mask\n    ref=\"phoneMask\"\n    :mask=\"mask\"\n    :value=\"innerValue\"\n    :tokens=\"plusTokens\"\n    :placeholder=\"placeholder\"\n    :disabled=\"disabled\"\n    :class=\"inputClass\"\n    masked\n    type=\"tel\"\n    @input=\"onInput\"\n  />\n</template>\n\n<script>\nimport { TheMask } from 'vue-the-mask';\nimport { parsePhoneNumberFromString } from 'libphonenumber-js';\n\nimport {\n  findFirstCountryByAlpha2,\n  findFirstCountryByCode,\n  getMaskToLibPhoneNumber,\n  isCanada,\n  allCountries,\n} from 'vue-phone-mask-input/src/country_telephone_data.js';\nimport visitorInfo from 'visitor-info';\n\nexport default {\n  name: 'WidgetInputPhone',\n  components: { TheMask },\n  props: {\n    value: {\n      type: [String, Number],\n      default: '',\n    },\n    showFlag: {\n      type: Boolean,\n      default: false,\n    },\n    autoDetectCountry: {\n      type: Boolean,\n      default: false,\n    },\n    defaultCountry: {\n      type: String,\n      default: '',\n    },\n    flagSize: {\n      type: String,\n      default: 'normal',\n    },\n    disabled: {\n      type: Boolean,\n      default: false,\n    },\n    wrapperClass: {\n      type: String,\n      default: 'phone-mask-wrapper-lib',\n    },\n    inputClass: {\n      type: String,\n      default: 'phone-input-lib',\n    },\n    flagClass: {\n      type: String,\n      default: 'country-flag-lib',\n    },\n  },\n  data() {\n    return {\n      innerValue: '',\n      countryCode: '',\n      mask: '*##############',\n      defaultMask: '*##############',\n      country: '',\n      isValid: false,\n      plusTokens: {\n        '#': {\n          pattern: /\\d/,\n        },\n        '*': {\n          pattern: /\\d|\\+/,\n        },\n      },\n    };\n  },\n  computed: {\n    placeholder() {\n      try {\n        const data = allCountries.reduce(\n          (r, item) => ({ ...r, [item[1]]: item }),\n          {}\n        );\n        const code = this.$store.state.auth?.tenant?.location_country;\n        const phoneCode = data[code][2].split('');\n\n        let mask = data[code][3] || '';\n\n        let i = 0;\n        while (mask.includes('.')) {\n          mask = mask.replace(/\\./, phoneCode[i] || i % 10);\n          i++;\n        }\n\n        return mask;\n      } catch (e) {\n        return '';\n      }\n    },\n    currentNumber() {\n      const plus = /^\\+/.test(this.innerValue) || !this.innerValue ? '' : '+';\n      const filteredNumberArr = this.innerValue\n        ? this.innerValue.match(/[\\d+]/g)\n        : null;\n      const filteredNumber = filteredNumberArr\n        ? filteredNumberArr.join('')\n        : '';\n\n      return this.mask === this.defaultMask\n        ? `${plus}${filteredNumber}`\n        : filteredNumber;\n    },\n  },\n  watch: {\n    value(val) {\n      this.onInput(val);\n    },\n    currentNumber(value) {\n      this.$emit('input', value);\n      this.$emit('onValidate', {\n        number: value,\n        isValidByLibPhoneNumberJs: this.isValid,\n        country: this.country,\n      });\n    },\n  },\n  beforeMount() {\n    if (this.autoDetectCountry) {\n      const visitorContryInfo = visitorInfo();\n      this.visitorCountry =\n        visitorContryInfo && visitorContryInfo.country\n          ? visitorContryInfo.country.alpha2\n          : '';\n    }\n    this.updateMaskData();\n  },\n  mounted() {\n    this.innerValue = this.value;\n    this.$refs.phoneMask.$el.onblur = () => {\n      this.$emit('onBlur');\n    };\n    this.$refs.phoneMask.$el.onfocus = () => {\n      this.$emit('onFocus');\n    };\n  },\n  methods: {\n    onInput(value) {\n      value = value.replace(/^(\\+?)89/, '$179');\n      const filteredValue = value.match(/[\\d+]/g);\n      this.innerValue = filteredValue ? filteredValue.join('') : '';\n      this.updateMaskData();\n\n      this.$nextTick(function () {\n        setTimeout(this.setFocusToEnd.bind(this), 0);\n      });\n    },\n\n    setFocusToEnd() {\n      const length = this.$refs.phoneMask.$el.value.length;\n      this.$refs.phoneMask.$el.focus();\n      this.$refs.phoneMask.$el.setSelectionRange(length, length);\n    },\n\n    updateMaskData() {\n      let {\n        currentNumber,\n        visitorCountry,\n        innerValue,\n        countryCode,\n        defaultMask,\n        autoDetectCountry,\n        defaultCountry,\n      } = this;\n\n      let phoneInfo = parsePhoneNumberFromString(currentNumber);\n\n      if (!phoneInfo && !currentNumber) {\n        const country = findFirstCountryByAlpha2(defaultCountry);\n        if (country) {\n          phoneInfo = { country: defaultCountry };\n          autoDetectCountry = false;\n          this.innerValue = `+${country.code}`;\n        }\n      }\n\n      if (phoneInfo && !phoneInfo.country) {\n        switch (phoneInfo.countryCallingCode) {\n          case '44': {\n            phoneInfo.country = 'GB';\n            break;\n          }\n          case '1': {\n            if (currentNumber.length > 4) {\n              phoneInfo.country = isCanada(currentNumber) ? 'CA' : 'US';\n            }\n            break;\n          }\n        }\n      } else if (autoDetectCountry && visitorCountry && !innerValue) {\n        phoneInfo = { country: visitorCountry };\n      } else if (!phoneInfo && currentNumber.length > 2) {\n        phoneInfo = { country: findFirstCountryByCode(currentNumber) };\n      }\n\n      const computedMask = getMaskToLibPhoneNumber(phoneInfo);\n      const computedCountry =\n        phoneInfo && phoneInfo.country ? phoneInfo.country.toLowerCase() : '';\n\n      if (phoneInfo && phoneInfo.countryCallingCode && computedMask) {\n        switch (phoneInfo.countryCallingCode) {\n          case '39':\n            computedMask.mask = '+39 ### #######';\n            break;\n          case '82':\n            computedMask.mask = '+82 ## ### #####';\n            break;\n          case '372':\n            computedMask.mask = '+372 ## ######';\n            break;\n          case '6221':\n            computedMask.mask = '+62 21 ### ####';\n            break;\n          case '628':\n            computedMask.mask = '+62 8## #### ####';\n            break;\n          case '62':\n            computedMask.mask = '+62 ### #### ####';\n            break;\n          case '972':\n            computedMask.mask = '+972 ### ######';\n            break;\n          case '258':\n            computedMask.mask = '+258 ### ######';\n            break;\n          case '977':\n            computedMask.mask = '+977 ## ### #####';\n            break;\n          case '387':\n            computedMask.mask = '+387 #### #####';\n            break;\n          case '55':\n            computedMask.mask = '+55 ## #### #####';\n            break;\n          case '95':\n            computedMask.mask = '+95 ### ### ####';\n            break;\n          case '971':\n            computedMask.mask = '+971 ### ### ####';\n            break;\n          case '86':\n            computedMask.mask = '+86 ### ### #####';\n            break;\n          case '880':\n            computedMask.mask = '+880 ### ### ####';\n            break;\n          case '52':\n            computedMask.mask = '+52 ## #### ####';\n            break;\n          case '49':\n            computedMask.mask = '+49 #### #######';\n            break;\n        }\n      }\n\n      if (autoDetectCountry && visitorCountry) {\n        if (!innerValue) {\n          this.innerValue = computedMask.countryCode;\n        }\n        this.visitorCountry = null;\n      }\n\n      if (computedMask && computedMask.mask) {\n        this.mask = computedMask.mask;\n        this.country = computedCountry;\n        this.countryCode = computedMask.countryCode;\n        this.isValid =\n          !!phoneInfo && !!phoneInfo.isValid && phoneInfo.isValid();\n      } else if (countryCode.length > currentNumber.length) {\n        this.mask = defaultMask;\n        this.country = '';\n        this.countryCode = '';\n        this.isValid = false;\n      }\n    },\n  },\n};\n</script>\n","import mod from \"-!../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetInputPhone.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetInputPhone.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetInputPhone.vue?vue&type=template&id=5cbedb60&\"\nimport script from \"./WidgetInputPhone.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetInputPhone.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../../../../node_modules/.pnpm/extract-css-chunks-webpack-plugin@4.9.0_webpack@4.46.0/node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--4-oneOf-1-0!../../../../../../node_modules/.pnpm/css-loader@4.3.0_webpack@4.46.0/node_modules/css-loader/dist/cjs.js??ref--4-oneOf-1-1!../../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._aa437771d9780d5220c2b33aaafbeac1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./FormCodeModalVerificationTestphoneCompanyComponent.vue?vue&type=style&index=0&id=38bbae76&prod&scoped=true&lang=css&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.show_)?_c('b-modal',{attrs:{\"no-close-on-backdrop\":true,\"no-close-on-esc\":true,\"dialog-class\":\"modal-verification-testphone-company-component\"},model:{value:(_vm.show_),callback:function ($$v) {_vm.show_=$$v},expression:\"show_\"}},[_c('template',{slot:\"modal-title\"},[_vm._v(\"\\n    \"+_vm._s(_vm.$t('company.testphone.modal_verification.title'))+\"\\n  \")]),_vm._v(\" \"),_c('FormVerification',{on:{\"success\":_vm.formCodeOnSuccess}}),_vm._v(\" \"),_c('template',{slot:\"modal-footer\"},[_vm._v(\" \")])],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import type { paths } from '@messaggio/client-api-user/api/api-gateway/userAutoonboarding';\nimport type { GetPayload } from '@messaggio/client-api-user/utils';\nimport axios from 'axios';\n\nexport type SetAutoonboardingTestphoneCodePayload = GetPayload<\n  paths,\n  '/onboarding/testphone/code',\n  'post'\n>;\n\nexport type SetAutoonboardingTestphoneCodeResponse = never;\n\nexport async function setAutoonboardingTestphoneCode(\n  params: SetAutoonboardingTestphoneCodePayload\n) {\n  const response = await axios.post<SetAutoonboardingTestphoneCodeResponse>(\n    '/api-gateway/api/v2/onboarding/testphone/code',\n    params\n  );\n\n  return response;\n}\n","\nimport { catchDispatch, catchDispatchErrorMsg } from '~/utils/form';\nimport MixinForm from '~/components/Mixin/MixinForm';\nimport { setAutoonboardingTestphoneCode } from '~/api/api-gateway/onboarding/testphone';\n\nexport default {\n  mixins: [MixinForm],\n  props: {\n    phone: {\n      type: String,\n      default: '',\n    },\n    channel: {\n      type: String,\n      required: true,\n    },\n    request_id: {\n      type: String,\n      default: '',\n    },\n    verification_ttl: {\n      type: Number,\n      default: 0,\n    },\n    cooldown: {\n      type: Number,\n      default: 0,\n    },\n  },\n  data: () => ({\n    tForm: 'company.testphone.modal_verification.form_code',\n    storePath: 'company/testphone',\n    submit: false,\n    itemData: {\n      code: '',\n    },\n    timer: {\n      working: false,\n      now: 0,\n      interval: null,\n      text: '',\n    },\n\n    tgNotFound: false,\n  }),\n  computed: {\n    formName() {\n      return `${this.storePath}/form_code`;\n    },\n    channelChanged() {\n      return this.$store.state.testphone.signalTelegramUnavailable;\n    },\n  },\n  watch: {\n    request_id(val) {\n      !!val && this.runCheckTimer();\n    },\n    channelChanged() {\n      this.tgNotFound = true;\n    },\n  },\n  beforeDestroy() {\n    this.timer.interval && clearInterval(this.timer.interval);\n  },\n  methods: {\n    runCheckTimer() {\n      this.timer.now = new Date().getTime();\n      this.timer.interval = setInterval(this.checkTime, 100);\n      this.timer.working = true;\n    },\n    checkTime() {\n      const diff = (new Date().getTime() - this.timer.now) / 1000;\n      this.timer.text = `${Math.round(this.$props.cooldown - diff)} s.`;\n      if (diff < this.$props.cooldown) {\n        return;\n      }\n\n      this.clear();\n    },\n    clear() {\n      this.timer.interval && clearInterval(this.timer.interval);\n      this.timer.working = false;\n      this.itemData.code = '';\n      setTimeout(() => {\n        this.errors.clear(this.formName);\n      }, 100);\n    },\n    onErrorSessionNotFound() {\n      this.$emit('onErrorSessionNotFound');\n    },\n    async onSubmit() {\n      const valid = await this.onSubmitValid();\n      if (!valid) return;\n\n      try {\n        await setAutoonboardingTestphoneCode({\n          request_id: this.request_id,\n          ...this.itemData,\n        });\n        this.timer.interval && clearInterval(this.timer.interval);\n        this.$emit('onSuccess', true);\n      } catch (e) {\n        const eMsg = catchDispatchErrorMsg(\n          this,\n          e\n        )?.error_message?.toLowerCase();\n\n        if (eMsg.includes('the wrong code was provided too many times')) {\n          window.PNotify.alert({\n            title: this.$t('home.error'),\n            text: this.$t(\n              'company.user.edit_phone.error_verifications_code_attempt_max'\n            ),\n            addClass: 'bg-danger',\n          });\n          this.onErrorSessionNotFound();\n          return;\n        }\n\n        if (eMsg.includes('code session not found')) {\n          window.PNotify.alert({\n            title: this.$t('home.error'),\n            text: this.$t(\n              'company.user.edit_phone.error_verifications_code_session_not_found'\n            ),\n            addClass: 'bg-danger',\n          });\n          this.onErrorSessionNotFound();\n          return;\n        }\n\n        const attemptMatch = eMsg.match(\n          /wrong confirmation code specified\\. attempt (?<attempt>\\d+) of (?<attempt_max>\\d+)\\./\n        );\n        if (attemptMatch) {\n          window.PNotify.alert({\n            title: this.$t('home.error'),\n            text: this.$t(\n              'company.user.edit_phone.error_verifications_code',\n              attemptMatch.groups\n            ),\n            addClass: 'bg-danger',\n          });\n          const attempt_max = parseInt(attemptMatch.groups.attempt_max, 10);\n          const attempt = parseInt(attemptMatch.groups.attempt, 10);\n          if (attempt_max <= attempt) {\n            this.onErrorSessionNotFound();\n          }\n          return;\n        }\n\n        catchDispatch(this, e);\n      } finally {\n        this.submit = false;\n      }\n    },\n  },\n};\n","import mod from \"-!../../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--13-0!../../../../../../node_modules/.pnpm/ts-loader@5.4.5_typescript@4.8.4/node_modules/ts-loader/index.js??ref--13-1!../../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./FormCodeModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--13-0!../../../../../../node_modules/.pnpm/ts-loader@5.4.5_typescript@4.8.4/node_modules/ts-loader/index.js??ref--13-1!../../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./FormCodeModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormCodeModalVerificationTestphoneCompanyComponent.vue?vue&type=template&id=38bbae76&scoped=true&\"\nimport script from \"./FormCodeModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormCodeModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FormCodeModalVerificationTestphoneCompanyComponent.vue?vue&type=style&index=0&id=38bbae76&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"38bbae76\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('form',{staticClass:\"form-horizontal\",attrs:{\"data-vv-scope\":_vm.formName}},[(_vm.channel == 'telegram')?_c('p',[_c('i18n',{attrs:{\"path\":`${_vm.tForm}.alertTelegram`},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('img',{staticStyle:{\"margin-right\":\"1px\"},attrs:{\"src\":require(\"static/image/sender_type/bottelegram.png\"),\"width\":\"15\"}})]},proxy:true}],null,false,715856650)})],1):_c('p',[_c('i18n',{attrs:{\"path\":_vm.tgNotFound ? `${_vm.tForm}.alertSMSNoTG` : `${_vm.tForm}.alertSMS`},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('img',{staticStyle:{\"margin-right\":\"1px\"},attrs:{\"src\":require(\"static/image/sender_type/sms.png\"),\"width\":\"15\"}})]},proxy:true}])})],1),_vm._v(\" \"),_c('label',{domProps:{\"innerHTML\":_vm._s(_vm.$t(`${_vm.tForm}.description`, { phone: _vm.phone }))}}),_vm._v(\" \"),_c('div',{class:{ 'has-warning': _vm.errors.has(`${_vm.formName}.code`) }},[_c('div',{staticClass:\"input-group\"},[_c('div',{staticClass:\"position-relative flex-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.itemData.code),expression:\"itemData.code\"},{name:\"validate\",rawName:\"v-validate\",value:('required|min:4|max:6'),expression:\"'required|min:4|max:6'\"}],staticClass:\"form-control form-control-lg\",attrs:{\"data-vv-as\":_vm.$t(`${_vm.tForm}.code`).toLowerCase(),\"data-vv-scope\":_vm.formName,\"name\":\"code\",\"placeholder\":_vm.$t(`${_vm.tForm}.code_placeholder`),\"type\":\"text\"},domProps:{\"value\":(_vm.itemData.code)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.itemData, \"code\", $event.target.value)}}}),_vm._v(\" \"),_c('div',{staticClass:\"countdown-timer\"},[_vm._v(\"\\n            \"+_vm._s(_vm.timer.text)+\"\\n          \")])])]),_vm._v(\" \"),(_vm.errors.has(`${_vm.formName}.code`))?_c('span',{staticClass:\"help-block\",domProps:{\"innerHTML\":_vm._s(_vm.errors.first(`${_vm.formName}.code`))}}):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"d-flex mt-2 help-block\",staticStyle:{\"gap\":\"12px\"}},[_c('button',{staticClass:\"btn flex-grow-1\",attrs:{\"disabled\":_vm.submit || _vm.timer.working},on:{\"click\":function($event){$event.preventDefault();_vm.tgNotFound = false;\n          _vm.$emit('tryAgain');}}},[(_vm.channel == 'telegram')?_c('span',[_vm._v(\"\\n          \"+_vm._s(_vm.$t(`${_vm.tForm}.trySMS`))+\"\\n        \")]):_c('span',[_vm._v(\"\\n          \"+_vm._s(_vm.$t(`${_vm.tForm}.tryAgain`))+\"\\n        \")])]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-success flex-grow-1\",attrs:{\"type\":\"submit\",\"disabled\":_vm.submit},on:{\"click\":_vm.onSubmit}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t(`${_vm.tForm}.submit`))+\"\\n      \")])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./FormPhoneModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./FormPhoneModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"","<template>\n  <form\n    :data-vv-scope=\"formName\"\n    class=\"form-horizontal\"\n    @submit.prevent=\"onSubmit\"\n  >\n    <p>{{ $t('company.testphone.modal_verification.description') }}</p>\n    <fieldset class=\"content-group\">\n      <div\n        :class=\"{ 'has-warning': errors.has(`${formName}.phone`) }\"\n        class=\"form-group\"\n      >\n        <div class=\"input-group\">\n          <input-phone\n            ref=\"phone\"\n            v-model=\"itemData.phone\"\n            v-validate=\"'required'\"\n            :data-vv-as=\"$t(`${tForm}.phone`).toLowerCase()\"\n            :data-vv-scope=\"formName\"\n            class=\"form-control form-control-lg\"\n            name=\"phone\"\n            :placeholder=\"$t(`${tForm}.phone_placeholder`)\"\n            type=\"text\"\n          />\n          <span class=\"input-group-append\">\n            <button\n              class=\"btn bg-blue-600\"\n              type=\"button\"\n              :disabled=\"phoneSubmit\"\n              @click.prevent=\"onSubmit\"\n            >\n              {{ $t(`${tForm}.submit`) }}\n            </button>\n          </span>\n        </div>\n        <span\n          v-if=\"errors.has(`${formName}.phone`)\"\n          class=\"help-block\"\n          v-html=\"errors.first(`${formName}.phone`)\"\n        />\n      </div>\n    </fieldset>\n  </form>\n</template>\n\n<script>\nimport api from '~/api';\nimport { catchDispatch, catchDispatchErrorMsg } from '~/utils/form';\nimport MixinForm from '~/components/Mixin/MixinForm';\nimport InputPhone from '~/components/Widget/WidgetInputPhone.vue';\n\nexport default {\n  components: {\n    InputPhone,\n  },\n  mixins: [MixinForm],\n  props: {\n    channel: {\n      type: String,\n      required: true,\n    },\n    phoneSubmit: {\n      type: Boolean,\n      required: true,\n    },\n  },\n  data() {\n    return {\n      tForm: 'company.testphone.modal_verification.form_phone',\n      storePath: 'company/testphone',\n\n      itemData: {\n        phone: '',\n      },\n    };\n  },\n  methods: {\n    async onSubmit(e) {\n      e.preventDefault();\n\n      const valid = await this.onSubmitValid();\n      if (!valid) {\n        return;\n      }\n\n      this.$emit('submit', this.itemData.phone);\n      this.submit = false;\n    },\n  },\n};\n</script>\n\n<style scoped></style>\n","import { render, staticRenderFns } from \"./FormPhoneModalVerificationTestphoneCompanyComponent.vue?vue&type=template&id=2ed03169&scoped=true&\"\nimport script from \"./FormPhoneModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"\nexport * from \"./FormPhoneModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2ed03169\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('form',{staticClass:\"form-horizontal\",attrs:{\"data-vv-scope\":_vm.formName},on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('p',[_vm._v(_vm._s(_vm.$t('company.testphone.modal_verification.description')))]),_vm._v(\" \"),_c('fieldset',{staticClass:\"content-group\"},[_c('div',{staticClass:\"form-group\",class:{ 'has-warning': _vm.errors.has(`${_vm.formName}.phone`) }},[_c('div',{staticClass:\"input-group\"},[_c('input-phone',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],ref:\"phone\",staticClass:\"form-control form-control-lg\",attrs:{\"data-vv-as\":_vm.$t(`${_vm.tForm}.phone`).toLowerCase(),\"data-vv-scope\":_vm.formName,\"name\":\"phone\",\"placeholder\":_vm.$t(`${_vm.tForm}.phone_placeholder`),\"type\":\"text\"},model:{value:(_vm.itemData.phone),callback:function ($$v) {_vm.$set(_vm.itemData, \"phone\", $$v)},expression:\"itemData.phone\"}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn bg-blue-600\",attrs:{\"type\":\"button\",\"disabled\":_vm.phoneSubmit},on:{\"click\":function($event){$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_vm._v(\"\\n            \"+_vm._s(_vm.$t(`${_vm.tForm}.submit`))+\"\\n          \")])])],1),_vm._v(\" \"),(_vm.errors.has(`${_vm.formName}.phone`))?_c('span',{staticClass:\"help-block\",domProps:{\"innerHTML\":_vm._s(_vm.errors.first(`${_vm.formName}.phone`))}}):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <form-phone\n      v-show=\"itemData.formShow === 'form-phone'\"\n      method=\"create\"\n      :channel=\"channel\"\n      :phone-submit=\"phoneSubmit\"\n      @submit=\"submitPhone\"\n    />\n    <form-code\n      v-show=\"itemData.formShow === 'form-code'\"\n      method=\"create\"\n      :channel.sync=\"channel\"\n      :phone=\"itemData.phone\"\n      :request_id=\"itemData.request_id\"\n      :verification_ttl=\"itemData.verification_ttl\"\n      :cooldown=\"itemData.cooldown\"\n      @onSuccess=\"formCodeOnSuccess\"\n      @onErrorSessionNotFound=\"clearPhone\"\n      @tryAgain=\"\n        channel = 'sms';\n        submitPhone();\n      \"\n    />\n  </div>\n</template>\n\n<script>\nimport axios from 'axios';\nimport { catchDispatch, catchDispatchErrorMsg } from '~/utils/form';\nimport api from '~/api';\nimport FormCode from './ModalVerification/FormCodeModalVerificationTestphoneCompanyComponent.vue';\nimport FormPhone from './ModalVerification/FormPhoneModalVerificationTestphoneCompanyComponent.vue';\nimport { track } from '~/plugins/tracker/tracker';\n\nexport default {\n  components: {\n    FormPhone,\n    FormCode,\n  },\n  data() {\n    return {\n      tForm: 'company.testphone.modal_verification.form_phone',\n      itemData: {\n        formShow: 'form-phone',\n        phone: '',\n        request_id: '',\n        verification_ttl: '',\n        cooldown: '',\n        code: '',\n      },\n\n      phoneSubmit: false,\n      channel: 'telegram', // telegram | sms\n    };\n  },\n  computed: {\n    channelChanged() {\n      return this.$store.state.testphone.signalTelegramUnavailable;\n    },\n  },\n  watch: {\n    channelChanged() {\n      this.channel = 'sms';\n    },\n  },\n  methods: {\n    async submitPhone(phone) {\n      if (this.phoneSubmit) return;\n      this.phoneSubmit = true;\n\n      if (phone) {\n        this.itemData.phone = phone;\n      }\n\n      try {\n        let response;\n\n        track('link_testphone_request', 'Onboarding', {\n          channels: [this.channel],\n        });\n\n        if (this.channel == 'telegram') {\n          response = await api.testphone.phones.verification\n            .telegram(this.itemData)\n            .then((response) => {\n              return response.data;\n            });\n        } else {\n          response = await api.testphone.phones.verification\n            .post(this.itemData)\n            .then((response) => {\n              return response.data;\n            });\n        }\n\n        const { request_id, verification_ttl, cooldown } = response;\n\n        this.itemData.formShow = 'form-code';\n        this.itemData.request_id = request_id;\n        this.itemData.verification_ttl = verification_ttl;\n        this.itemData.cooldown = cooldown;\n\n        try {\n          let url =\n            'https://store.messaggio.com/messaggio-api/offer/index.php?action=change-lead-info-from-lk-wizard';\n          if (\n            process.env.NODE_ENV !== 'production' ||\n            window.location.host.startsWith('dev.')\n          ) {\n            url += '&env=dev';\n          }\n\n          await axios.post(url, { phone_unconfirmed: this.itemData.phone });\n        } catch (e) {}\n      } catch (e) {\n        const eMsg = catchDispatchErrorMsg(this, e).toLowerCase();\n\n        const errorVerificationsPhoneSessionExist = eMsg.match(\n          /concurrent verifications to the same number are not allowed. (?<duration>\\d+)s./\n        );\n        if (errorVerificationsPhoneSessionExist) {\n          window.PNotify.alert({\n            title: this.$t('home.error'),\n            text: this.$t(\n              `${this.tForm}.error_verifications_phone_session_exist`,\n              errorVerificationsPhoneSessionExist.groups\n            ),\n            addClass: 'bg-danger',\n          });\n\n          this.phoneSubmit = false;\n\n          return;\n        }\n\n        if (eMsg.includes('phone attempt max')) {\n          window.PNotify.alert({\n            title: this.$t('home.error'),\n            text: this.$t(\n              'company.user.edit_phone.error_verifications_phone_attempt_max'\n            ),\n            addClass: 'bg-danger',\n          });\n\n          this.phoneSubmit = false;\n\n          return;\n        }\n\n        if (eMsg.includes('phone exist')) {\n          window.PNotify.alert({\n            title: this.$t('home.error'),\n            text: this.$t(\n              'company.user.edit_phone.error_verifications_phone_exist'\n            ),\n            addClass: 'bg-danger',\n          });\n\n          this.phoneSubmit = false;\n\n          return;\n        }\n\n        if (this.channel != 'sms' && eMsg.includes('msg not send')) {\n          this.phoneSubmit = false;\n\n          this.channel = 'sms';\n          this.submitPhone();\n\n          return;\n        }\n\n        catchDispatch(this, e);\n      }\n\n      this.phoneSubmit = false;\n    },\n    clearPhone() {\n      this.itemData.phone = '';\n      this.itemData.request_id = '';\n      this.itemData.verification_ttl = 0;\n      this.itemData.cooldown = 0;\n    },\n    async formCodeOnSuccess() {\n      try {\n        let url =\n          'https://store.messaggio.com/messaggio-api/offer/index.php?action=change-lead-info-from-lk-wizard';\n        if (\n          process.env.NODE_ENV !== 'production' ||\n          window.location.host.startsWith('dev.')\n        ) {\n          url += '&env=dev';\n        }\n\n        axios.post(url, { phone: this.itemData.phone });\n      } catch (e) {}\n\n      track('link_testphone_success', 'Onboarding');\n\n      this.$emit('success', { phone: this.itemData.phone });\n    },\n  },\n};\n</script>\n\n<style lang=\"scss\" scoped></style>\n","import mod from \"-!../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./FormVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./FormVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--13-0!../../../../../node_modules/.pnpm/ts-loader@5.4.5_typescript@4.8.4/node_modules/ts-loader/index.js??ref--13-1!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--13-0!../../../../../node_modules/.pnpm/ts-loader@5.4.5_typescript@4.8.4/node_modules/ts-loader/index.js??ref--13-1!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=ts&\"","\nimport { track } from '~/plugins/tracker/tracker';\nimport FormVerification from '~/components/Company/Testphone/FormVerificationTestphoneCompanyComponent.vue';\n\nexport default {\n  components: {\n    FormVerification,\n  },\n  props: {\n    show: { type: Boolean },\n  },\n  data: () => ({\n    formShow: 'form-phone',\n    phone: '',\n    request_id: '',\n    code: '',\n  }),\n  computed: {\n    show_: {\n      get() {\n        return this.show;\n      },\n      set(show) {\n        if (!show) {\n          this.formShow = 'form-phone';\n        }\n        this.$emit('update:show', show);\n      },\n    },\n  },\n  methods: {\n    formCodeOnSuccess() {\n      track('Link Phone Number', 'Setting');\n      window.PNotify.alert({\n        title: this.$t('home.success'),\n        text: this.$t('client_sender.form.save_success'),\n        addClass: 'bg-success',\n      });\n      this.$emit('onSuccess', true);\n      this.show_ = false;\n    },\n  },\n};\n","import { render, staticRenderFns } from \"./FormVerificationTestphoneCompanyComponent.vue?vue&type=template&id=a98858e2&scoped=true&\"\nimport script from \"./FormVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"\nexport * from \"./FormVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"a98858e2\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('form-phone',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.itemData.formShow === 'form-phone'),expression:\"itemData.formShow === 'form-phone'\"}],attrs:{\"method\":\"create\",\"channel\":_vm.channel,\"phone-submit\":_vm.phoneSubmit},on:{\"submit\":_vm.submitPhone}}),_vm._v(\" \"),_c('form-code',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.itemData.formShow === 'form-code'),expression:\"itemData.formShow === 'form-code'\"}],attrs:{\"method\":\"create\",\"channel\":_vm.channel,\"phone\":_vm.itemData.phone,\"request_id\":_vm.itemData.request_id,\"verification_ttl\":_vm.itemData.verification_ttl,\"cooldown\":_vm.itemData.cooldown},on:{\"update:channel\":function($event){_vm.channel=$event},\"onSuccess\":_vm.formCodeOnSuccess,\"onErrorSessionNotFound\":_vm.clearPhone,\"tryAgain\":function($event){_vm.channel = 'sms';\n      _vm.submitPhone();}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ModalVerificationTestphoneCompanyComponent.vue?vue&type=template&id=48263659&\"\nimport script from \"./ModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=ts&\"\nexport * from \"./ModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"velocity col-md-12\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-header header-elements-inline\"},[_c('h5',{staticClass:\"card-title\"},[_vm._v(_vm._s(_vm.$t('company.testphone.title')))]),_vm._v(\" \"),_c('div',{staticClass:\"header-elements\"},[_c('a',{staticClass:\"btn btn-sm bg-green btn-labeled btn-labeled-left\",attrs:{\"href\":\"#\",\"type\":\"button\"},on:{\"click\":function($event){$event.preventDefault();_vm.modalVerificationShow = true}}},[_vm._m(0),_vm._v(\"\\n            \"+_vm._s(_vm.$t('company.testphone.create'))+\"\\n          \")])])]),_vm._v(\" \"),(_vm.showPhoneEmpty)?[_c('widget-stub-empty',{attrs:{\"icon-static\":\"image/scheme/contact-group.png\",\"trans-prefix\":\"company.testphone.phone_empty\",\"project-length-check\":false,\"route-create-event\":true},on:{\"on-route-create-click\":function($event){_vm.modalVerificationShow = true}}})]:[_c('testphone-table',{attrs:{\"currentPage\":_vm.table.currentPage,\"items\":_vm.table.items,\"loading\":_vm.table.loading,\"perPage\":_vm.table.perPage,\"sortBy\":_vm.table.sortBy,\"sortDesc\":_vm.table.sortDesc,\"totalRows\":_vm.table.totalRows},on:{\"update:currentPage\":function($event){return _vm.$set(_vm.table, \"currentPage\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.table, \"currentPage\", $event)},\"update:items\":function($event){return _vm.$set(_vm.table, \"items\", $event)},\"update:sortBy\":function($event){return _vm.$set(_vm.table, \"sortBy\", $event)},\"update:sort-by\":function($event){return _vm.$set(_vm.table, \"sortBy\", $event)},\"update:sortDesc\":function($event){return _vm.$set(_vm.table, \"sortDesc\", $event)},\"update:sort-desc\":function($event){return _vm.$set(_vm.table, \"sortDesc\", $event)},\"tableFetch\":_vm.tableFetch}})]],2),_vm._v(\" \"),_c('modal-verification',{attrs:{\"show\":_vm.modalVerificationShow},on:{\"update:show\":function($event){_vm.modalVerificationShow=$event},\"onSuccess\":_vm.modalVerificationOnSuccess}})],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('b',[_c('i',{staticClass:\"icon-plus3\"})])\n}]\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"row\">\n    <div class=\"velocity col-md-12\">\n      <div class=\"card\">\n        <div class=\"card-header header-elements-inline\">\n          <h5 class=\"card-title\">{{ $t('company.testphone.title') }}</h5>\n          <div class=\"header-elements\">\n            <a\n              href=\"#\"\n              @click.prevent=\"modalVerificationShow = true\"\n              class=\"btn btn-sm bg-green btn-labeled btn-labeled-left\"\n              type=\"button\">\n              <b><i class=\"icon-plus3\"></i></b>\n              {{ $t('company.testphone.create') }}\n            </a>\n          </div>\n        </div>\n\n        <template v-if=\"showPhoneEmpty\">\n          <widget-stub-empty\n            icon-static=\"image/scheme/contact-group.png\"\n            trans-prefix=\"company.testphone.phone_empty\"\n            :project-length-check=\"false\"\n            :route-create-event=\"true\"\n            @on-route-create-click=\"modalVerificationShow = true\"/>\n        </template>\n        <template v-else>\n          <testphone-table\n            :currentPage.sync=\"table.currentPage\"\n            :items.sync=\"table.items\"\n            :loading=\"table.loading\"\n            :perPage=\"table.perPage\"\n            :sortBy.sync=\"table.sortBy\"\n            :sortDesc.sync=\"table.sortDesc\"\n            :totalRows=\"table.totalRows\"\n            @tableFetch=\"tableFetch\"/>\n        </template>\n      </div>\n      <modal-verification\n        :show.sync=\"modalVerificationShow\"\n        @onSuccess=\"modalVerificationOnSuccess\"/>\n    </div>\n  </div>\n</template>\n\n<script>\n  import debounce from 'lodash.debounce';\n  import {sortString} from '~/utils/functions';\n  import MixinTitle from '~/components/Mixin/MixinTitle'\n  import TestphoneTable from '~/components/Company/Testphone/TableTestphoneCompanyComponent';\n  import ModalVerification from '~/components/Company/Testphone/ModalVerificationTestphoneCompanyComponent';\n  import WidgetStubEmpty from '~/components/Widget/WidgetStubEmpty';\n\n  export default {\n    scrollToTop: true,\n    mixins: [MixinTitle],\n    data() {\n      return {\n        title: 'company.title',\n        subtitle: 'company.testphone.title',\n        modalVerificationShow: false,\n        table: {\n          loading: true,\n          filter: {\n            q: this.$route.query.q || '',\n          },\n          items: [],\n          totalRows: 0,\n          currentPage: 1,\n          perPage: 10,\n          sortBy: 'created_at',\n          sortDesc: true,\n        },\n        tableFetchDebounce: debounce(this.tableFetch, 300),\n      };\n    },\n    methods: {\n      async tableFetch() {\n        this.table.loading = true;\n        let sort = sortString(this.table);\n        const result = await this.$store.dispatch('company/testphone/list', {\n          page: this.table.currentPage,\n          pagesize: this.table.perPage,\n          sort,\n          ...this.table.filter,\n        });\n        this.table.items = result.items;\n        this.table.totalRows = result.totalRows;\n        this.table.loading = false;\n      },\n      modalVerificationOnSuccess() {\n        this.tableFetch();\n      },\n    },\n    computed: {\n      showPhoneEmpty() {\n        const hasNotFilter = !Object.values(this.table.filter).filter(f => f !== '').length;\n        const firstPage = this.table.currentPage === 1;\n        const hasNotItems = !this.table.items.length;\n\n        return hasNotFilter && firstPage && hasNotItems;\n      },\n    },\n    watch: {\n      'table.currentPage'() {\n        this.tableFetch();\n      },\n      'table.sortBy'() {\n        this.tableFetch();\n      },\n      'table.sortDesc'() {\n        this.tableFetch();\n      },\n      'table.filter.q'() {\n        this.tableFetchDebounce();\n      },\n    },\n    async created() {\n      this.tableFetch();\n    },\n    components: {\n      TestphoneTable,\n      ModalVerification,\n      WidgetStubEmpty,\n    },\n  };\n</script>\n\n<style>\n</style>\n","import mod from \"-!../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=7d822d9c&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports"],"sourceRoot":""}