{"version":3,"sources":["webpack:///./src/views/auth/ForgetPassword.vue","webpack:///./src/components/forms/OtpForm.vue","webpack:///./node_modules/vue3-otp-input/dist/vue3-otp-input.esm.js","webpack:///./src/components/forms/OtpForm.vue?7b1f","webpack:///./src/components/forms/OtpForm.vue?0815","webpack:///./src/views/auth/ForgetPassword.vue?0706","webpack:///./src/views/auth/ForgetPassword.vue?aa2d","webpack:///./src/components/forms/OtpForm.vue?70bf"],"names":["class","type","ref","id","showOtp","otp","onSubmitForgotPassword","validation-schema","forgotPassword","placeholder","name","autocomplete","to","role","email","counter","resendOtp","input-classes","separator","num-inputs","should-auto-focus","is-input-num","otpCompleteHandler","script$1","props","inputType","String","validator","value","includes","default","inputmode","Number","focus","Boolean","inputClasses","Array","conditionalClass","shouldAutoFocus","isLastChild","isDisabled","emits","_ref","emit","model","input","handleOnChange","toString","length","slice","isCodeLetter","charCode","isCodeNumeric","handleOnKeyDown","event","preventDefault","keyEvent","window","which","keyCode","handleOnPaste","handleOnFocus","select","handleOnBlur","newValue","oldValue","newFocusValue","oldFocusValue","inputTypeValue","_hoisted_1$1","style","_hoisted_2$1","key","render$1","_ctx","_cache","$props","$setup","$data","$options","disabled","min","max","maxlength","pattern","$event","onInput","arguments","onKeydown","onPaste","onFocus","onBlur","innerHTML","render","BACKSPACE","LEFT_ARROW","RIGHT_ARROW","DELETE","script","components","SingleOtpInput","numInputs","activeInput","oldOtp","index","checkFilledAllInputs","join","focusInput","Math","focusNextInput","focusPrevInput","changeCodeAtFocus","Object","assign","pastedData","clipboardData","getData","split","match","currentCharsInOtp","combinedWithPastedData","concat","forEach","i","clearInput","_component_SingleOtpInput","_","onOnChange","onOnKeydown","onOnPaste","onOnFocus","onOnBlur","entry_esm","installable","install","app","component","VOtpInput","resendLockTime","store","router","loadingOtp","otpInput","submitButton","shape","required","label","getters","getOtp","setTimeout","immediate","dispatch","REQUEST_OTP","then","catch","console","log","params","password","ApiService","post","res","data","replace","query","token","fire","icon","text","title","finally","Field","Form","ErrorMessage","OtpForm","values","setAttribute","removeAttribute"],"mappings":"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","file":"js/chunk-38b5e0ba.508ccfdf.js","sourcesContent":["\n \n \n \n \n \n \n \n Forgot Password ?\n \n\n \n \n Enter your email to reset your password.\n \n \n \n \n\n \n \n Email\n \n \n \n \n \n \n \n \n\n \n \n \n Submit \n \n Please wait...\n \n \n \n\n Cancel\n \n \n \n \n \n \n \n \n\n\n\n","\r\n \r\n \r\n \r\n \r\n Verification\r\n \r\n\r\n \r\n \r\n ใส่รหัสที่ส่งไปทางอีเมล {{otp.email}}\r\n \r\n \r\n \r\n ref: {{otp.ref}} \r\n \r\n {{counter}}\r\n \r\n \r\n ส่งอีกครั้ง\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Submit \r\n \r\n Please wait...\r\n \r\n \r\n \r\n\r\n Cancel\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n","import { defineComponent, ref, watch, onMounted, openBlock, createElementBlock, withDirectives, createElementVNode, normalizeClass, vModelDynamic, createCommentVNode, resolveComponent, Fragment, renderList, createBlock } from 'vue';\n\nvar script$1 = defineComponent({\n name: \"SingleOtpInput\",\n props: {\n inputType: {\n type: String,\n validator: value => [\"number\", \"tel\", \"letter-numeric\", \"password\"].includes(value),\n default: \"tel\"\n },\n inputmode: {\n type: String,\n default: \"numeric\"\n },\n value: {\n type: [String, Number]\n },\n separator: {\n type: String\n },\n focus: {\n type: Boolean\n },\n inputClasses: {\n type: [String, Array]\n },\n conditionalClass: {\n type: String\n },\n shouldAutoFocus: {\n type: Boolean\n },\n isLastChild: {\n type: Boolean\n },\n placeholder: {\n type: String\n },\n isDisabled: {\n type: Boolean\n }\n },\n emits: [\"on-change\", \"on-keydown\", \"on-paste\", \"on-focus\", \"on-blur\"],\n\n setup(props, _ref) {\n let {\n emit\n } = _ref;\n const model = ref(props.value || \"\");\n const input = ref(null);\n\n const handleOnChange = () => {\n model.value = model.value.toString();\n\n if (model.value.length > 1) {\n model.value = model.value.slice(0, 1);\n }\n\n return emit(\"on-change\", model.value);\n };\n\n const isCodeLetter = charCode => charCode >= 65 && charCode <= 90;\n\n const isCodeNumeric = charCode => charCode >= 48 && charCode <= 57 || charCode >= 96 && charCode <= 105; // numeric keys and numpad keys\n\n\n const handleOnKeyDown = event => {\n if (props.isDisabled) {\n event.preventDefault();\n } // Only allow characters 0-9, DEL, Backspace, Enter, Right and Left Arrows, and Pasting\n\n\n const keyEvent = event || window.event;\n const charCode = keyEvent.which ? keyEvent.which : keyEvent.keyCode;\n\n if (isCodeNumeric(charCode) || props.inputType === \"letter-numeric\" && isCodeLetter(charCode) || [8, 9, 13, 37, 39, 46, 86].includes(charCode)) {\n emit(\"on-keydown\", event);\n } else {\n keyEvent.preventDefault();\n }\n };\n\n const handleOnPaste = event => emit(\"on-paste\", event);\n\n const handleOnFocus = () => {\n input.value.select();\n return emit(\"on-focus\");\n };\n\n const handleOnBlur = () => emit(\"on-blur\");\n\n watch(() => props.value, (newValue, oldValue) => {\n if (newValue !== oldValue) {\n model.value = newValue;\n }\n });\n watch(() => props.focus, (newFocusValue, oldFocusValue) => {\n // Check if focusedInput changed\n // Prevent calling function if input already in focus\n if (oldFocusValue !== newFocusValue && input.value && props.focus) {\n input.value.focus();\n input.value.select();\n }\n });\n onMounted(() => {\n if (input.value && props.focus && props.shouldAutoFocus) {\n input.value.focus();\n input.value.select();\n }\n });\n return {\n handleOnChange,\n handleOnKeyDown,\n handleOnPaste,\n handleOnFocus,\n handleOnBlur,\n input,\n model,\n inputTypeValue: props.inputType === \"letter-numeric\" ? \"text\" : props.inputType\n };\n }\n\n});\n\nconst _hoisted_1$1 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_2$1 = [\"type\", \"inputmode\", \"placeholder\", \"disabled\"];\nconst _hoisted_3 = {\n key: 0\n};\nconst _hoisted_4 = [\"innerHTML\"];\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", _hoisted_1$1, [withDirectives(createElementVNode(\"input\", {\n type: _ctx.inputTypeValue,\n inputmode: _ctx.inputmode,\n placeholder: _ctx.placeholder,\n disabled: _ctx.isDisabled,\n ref: \"input\",\n min: \"0\",\n max: \"9\",\n maxlength: \"1\",\n pattern: \"[0-9]\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => _ctx.model = $event),\n class: normalizeClass([_ctx.inputClasses, _ctx.conditionalClass, {\n 'is-complete': _ctx.model\n }]),\n onInput: _cache[1] || (_cache[1] = function () {\n return _ctx.handleOnChange && _ctx.handleOnChange(...arguments);\n }),\n onKeydown: _cache[2] || (_cache[2] = function () {\n return _ctx.handleOnKeyDown && _ctx.handleOnKeyDown(...arguments);\n }),\n onPaste: _cache[3] || (_cache[3] = function () {\n return _ctx.handleOnPaste && _ctx.handleOnPaste(...arguments);\n }),\n onFocus: _cache[4] || (_cache[4] = function () {\n return _ctx.handleOnFocus && _ctx.handleOnFocus(...arguments);\n }),\n onBlur: _cache[5] || (_cache[5] = function () {\n return _ctx.handleOnBlur && _ctx.handleOnBlur(...arguments);\n })\n }, null, 42, _hoisted_2$1), [[vModelDynamic, _ctx.model]]), !_ctx.isLastChild && _ctx.separator ? (openBlock(), createElementBlock(\"span\", _hoisted_3, [createElementVNode(\"span\", {\n innerHTML: _ctx.separator\n }, null, 8, _hoisted_4)])) : createCommentVNode(\"\", true)]);\n}\n\nscript$1.render = render$1;\n\nconst BACKSPACE = 8;\nconst LEFT_ARROW = 37;\nconst RIGHT_ARROW = 39;\nconst DELETE = 46;\nvar script = /* #__PURE__ */defineComponent({\n name: \"Vue3OtpInput\",\n components: {\n SingleOtpInput: script$1\n },\n props: {\n numInputs: {\n default: 4\n },\n separator: {\n type: String,\n default: \"**\"\n },\n inputClasses: {\n type: [String, Array]\n },\n conditionalClass: {\n type: Array,\n default: []\n },\n inputType: {\n type: String,\n validator: value => [\"number\", \"tel\", \"letter-numeric\", \"password\"].includes(value)\n },\n inputmode: {\n type: String,\n validator: value => [\"numeric\", \"text\", \"tel\", \"none\"].includes(value),\n default: \"numeric\"\n },\n shouldAutoFocus: {\n type: Boolean,\n default: false\n },\n placeholder: {\n type: Array,\n default: []\n },\n isDisabled: {\n type: Boolean,\n default: false\n }\n },\n\n setup(props, _ref) {\n let {\n emit\n } = _ref;\n const activeInput = ref(0);\n const otp = ref([]);\n const oldOtp = ref([]);\n\n const handleOnFocus = index => {\n activeInput.value = index;\n };\n\n const handleOnBlur = () => {\n activeInput.value = -1;\n }; // Helper to return OTP from input\n\n\n const checkFilledAllInputs = () => {\n if (otp.value.join(\"\").length === props.numInputs) {\n return emit(\"on-complete\", otp.value.join(\"\"));\n }\n\n return \"Wait until the user enters the required number of characters\";\n }; // Focus on input by index\n\n\n const focusInput = input => {\n activeInput.value = Math.max(Math.min(props.numInputs - 1, input), 0);\n }; // Focus on next input\n\n\n const focusNextInput = () => {\n focusInput(activeInput.value + 1);\n }; // Focus on previous input\n\n\n const focusPrevInput = () => {\n focusInput(activeInput.value - 1);\n }; // Change OTP value at focused input\n\n\n const changeCodeAtFocus = value => {\n oldOtp.value = Object.assign([], otp.value); // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n\n otp.value[activeInput.value] = value;\n\n if (oldOtp.value.join(\"\") !== otp.value.join(\"\")) {\n emit(\"on-change\", otp.value.join(\"\"));\n checkFilledAllInputs();\n }\n }; // Handle pasted OTP\n\n\n const handleOnPaste = event => {\n event.preventDefault();\n const pastedData = event.clipboardData.getData(\"text/plain\").slice(0, props.numInputs - activeInput.value).split(\"\");\n\n if (props.inputType === \"number\" && !pastedData.join(\"\").match(/^\\d+$/)) {\n return \"Invalid pasted data\";\n }\n\n if (props.inputType === \"letter-numeric\" && !pastedData.join(\"\").match(/^\\w+$/)) {\n return \"Invalid pasted data\";\n } // Paste data from focused input onwards\n\n\n const currentCharsInOtp = otp.value.slice(0, activeInput.value);\n const combinedWithPastedData = currentCharsInOtp.concat(pastedData);\n combinedWithPastedData.slice(0, props.numInputs).forEach(function (value, i) {\n otp.value[i] = value;\n });\n focusInput(combinedWithPastedData.slice(0, props.numInputs).length);\n return checkFilledAllInputs();\n };\n\n const handleOnChange = value => {\n changeCodeAtFocus(value);\n focusNextInput();\n };\n\n const clearInput = () => {\n if (otp.value.length > 0) {\n emit(\"on-change\", \"\");\n }\n\n otp.value = [];\n activeInput.value = 0;\n }; // Handle cases of backspace, delete, left arrow, right arrow\n\n\n const handleOnKeyDown = event => {\n switch (event.keyCode) {\n case BACKSPACE:\n event.preventDefault();\n changeCodeAtFocus(\"\");\n focusPrevInput();\n break;\n\n case DELETE:\n event.preventDefault();\n changeCodeAtFocus(\"\");\n break;\n\n case LEFT_ARROW:\n event.preventDefault();\n focusPrevInput();\n break;\n\n case RIGHT_ARROW:\n event.preventDefault();\n focusNextInput();\n break;\n }\n };\n\n return {\n activeInput,\n otp,\n oldOtp,\n clearInput,\n handleOnPaste,\n handleOnKeyDown,\n handleOnBlur,\n changeCodeAtFocus,\n focusInput,\n focusNextInput,\n focusPrevInput,\n handleOnFocus,\n checkFilledAllInputs,\n handleOnChange\n };\n }\n\n});\n\nconst _hoisted_1 = {\n style: {\n \"display\": \"flex\"\n }\n};\nconst _hoisted_2 = {\n key: 0,\n autocomplete: \"off\",\n name: \"hidden\",\n type: \"text\",\n style: {\n \"display\": \"none\"\n }\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_SingleOtpInput = resolveComponent(\"SingleOtpInput\");\n\n return openBlock(), createElementBlock(\"div\", _hoisted_1, [_ctx.inputType === 'password' ? (openBlock(), createElementBlock(\"input\", _hoisted_2)) : createCommentVNode(\"\", true), (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.numInputs, (_, i) => {\n return openBlock(), createBlock(_component_SingleOtpInput, {\n key: i,\n focus: _ctx.activeInput === i,\n value: _ctx.otp[i],\n separator: _ctx.separator,\n \"input-type\": _ctx.inputType,\n inputmode: _ctx.inputmode,\n \"input-classes\": _ctx.inputClasses,\n conditionalClass: _ctx.conditionalClass[i],\n \"is-last-child\": i === _ctx.numInputs - 1,\n \"should-auto-focus\": _ctx.shouldAutoFocus,\n placeholder: _ctx.placeholder[i],\n \"is-disabled\": _ctx.isDisabled,\n onOnChange: _ctx.handleOnChange,\n onOnKeydown: _ctx.handleOnKeyDown,\n onOnPaste: _ctx.handleOnPaste,\n onOnFocus: $event => _ctx.handleOnFocus(i),\n onOnBlur: _ctx.handleOnBlur\n }, null, 8, [\"focus\", \"value\", \"separator\", \"input-type\", \"inputmode\", \"input-classes\", \"conditionalClass\", \"is-last-child\", \"should-auto-focus\", \"placeholder\", \"is-disabled\", \"onOnChange\", \"onOnKeydown\", \"onOnPaste\", \"onOnFocus\", \"onOnBlur\"]);\n }), 128))]);\n}\n\nscript.render = render;\n\n// Import vue component\n// IIFE injects install function into component, allowing component\n// to be registered via Vue.use() as well as Vue.component(),\n\nvar entry_esm = /*#__PURE__*/(() => {\n // Assign InstallableComponent type\n const installable = script; // Attach install function executed by Vue.use()\n\n installable.install = app => {\n app.component('Vue3OtpInput', installable);\n };\n\n return installable;\n})(); // It's possible to expose named exports when writing components that can\n// also be used as directives, etc. - eg. import { RollupDemoDirective } from 'rollup-demo';\n// export const RollupDemoDirective = directive;\n\nexport { entry_esm as default };\n","\r\nimport { computed, defineComponent, ref, watch } from \"vue\";\r\nimport { ErrorMessage, Field, Form } from \"vee-validate\";\r\nimport { useStore } from \"vuex\";\r\nimport { useRouter } from \"vue-router\";\r\nimport * as Yup from \"yup\";\r\nimport { Actions } from \"@/store/enums/StoreEnums\";\r\nimport Swal from \"sweetalert2/dist/sweetalert2.min.js\";\r\nimport VOtpInput from \"vue3-otp-input\";\r\nimport ApiService from \"@/core/services/ApiService\";\r\n\r\nexport default defineComponent({\r\n \r\n name: \"password-reset\",\r\n components: {\r\n \r\n VOtpInput\r\n },\r\n setup(props, {emit}) {\r\n const resendLockTime = 60\r\n const store = useStore();\r\n const router = useRouter();\r\n const loadingOtp = ref(false)\r\n const counter = ref(resendLockTime)\r\n const otpInput = ref | null>(null)\r\n const submitButton = ref(null);\r\n\r\n //Create form validation object\r\n const forgotPassword = Yup.object().shape({\r\n email: Yup.string().email().required().label(\"Email\"),\r\n });\r\n\r\n const otp = computed(() => store.getters.getOtp)\r\n\r\n watch(\r\n counter,\r\n (value) => {\r\n if(value > 0) { \r\n setTimeout(() => {\r\n counter.value--\r\n }, 1000)\r\n }\r\n },\r\n { immediate: true }\r\n )\r\n\r\n //Form submit function\r\n const resendOtp = () => {\r\n loadingOtp.value = true\r\n store\r\n .dispatch(Actions.REQUEST_OTP, {email: otp.value.email})\r\n .then(() => {\r\n counter.value = resendLockTime;\r\n otpInput.value?.clearInput()\r\n loadingOtp.value = false\r\n })\r\n .catch(() => {\r\n loadingOtp.value = false\r\n });\r\n };\r\n\r\n const otpCompleteHandler = (value) => {\r\n console.log(value)\r\n const params = {\r\n ref: otp.value.ref,\r\n email: otp.value.email,\r\n password: value,\r\n }\r\n\r\n ApiService.post(\"otp/verify\", params)\r\n .then((res) => {\r\n console.log(res)\r\n const {data} = res\r\n router.replace({name: 'ResetPassword', query: {token: data.token }})\r\n })\r\n .catch(() => {\r\n Swal.fire({\r\n icon: 'error',\r\n text: 'รหัส OTP ไม่ถูกต้องหรือหมดอายุแล้ว',\r\n title: \"ผิดพลาด\"\r\n })\r\n })\r\n .finally(() => { \r\n otpInput.value?.clearInput()\r\n })\r\n }\r\n\r\n return {\r\n resendOtp,\r\n forgotPassword,\r\n submitButton,\r\n otpInput,\r\n counter,\r\n otp,\r\n otpCompleteHandler,\r\n loadingOtp\r\n };\r\n },\r\n});\r\n","import { render } from \"./OtpForm.vue?vue&type=template&id=3cd8ffa8\"\nimport script from \"./OtpForm.vue?vue&type=script&lang=ts\"\nexport * from \"./OtpForm.vue?vue&type=script&lang=ts\"\n\nimport \"./OtpForm.vue?vue&type=style&index=0&id=3cd8ffa8&lang=css\"\nscript.render = render\n\nexport default script","\nimport { computed, defineComponent, ref } from \"vue\";\nimport { ErrorMessage, Field, Form } from \"vee-validate\";\nimport { useStore } from \"vuex\";\nimport { useRouter } from \"vue-router\";\nimport * as Yup from \"yup\";\nimport { Actions } from \"@/store/enums/StoreEnums\";\nimport Swal from \"sweetalert2/dist/sweetalert2.min.js\";\nimport OtpForm from \"../../components/forms/OtpForm.vue\"\n\n\nexport default defineComponent({\n name: \"password-reset\",\n components: {\n Field,\n Form,\n ErrorMessage,\n OtpForm\n },\n setup() {\n const store = useStore();\n const router = useRouter();\n\n const submitButton = ref(null);\n\n //Create form validation object\n const forgotPassword = Yup.object().shape({\n email: Yup.string().email().required().label(\"Email\"),\n });\n\n const otp = ref(null)\n const showOtp = ref(false);\n //Form submit function\n const onSubmitForgotPassword = (values) => {\n // Activate loading indicator\n submitButton.value?.setAttribute(\"data-kt-indicator\", \"on\");\n console.log(values)\n // dummy delay\n setTimeout(() => {\n // Send login request\n otp.value = values;\n \n store\n .dispatch(Actions.REQUEST_OTP, values)\n .then(() => {\n showOtp.value = true \n })\n .catch(() => {\n // Alert then login failed\n // Swal.fire({\n // text: store.getters.getErrors[0],\n // icon: \"error\",\n // buttonsStyling: false,\n // confirmButtonText: \"Try again!\",\n // customClass: {\n // confirmButton: \"btn fw-bold btn-light-danger\",\n // },\n // });\n })\n .finally(() => {\n submitButton.value?.removeAttribute(\"data-kt-indicator\");\n });\n\n }, 500);\n };\n\n return {\n onSubmitForgotPassword,\n forgotPassword,\n submitButton,\n otp,\n showOtp\n };\n },\n});\n","import { render } from \"./ForgetPassword.vue?vue&type=template&id=3c5f53d9\"\nimport script from \"./ForgetPassword.vue?vue&type=script&lang=ts\"\nexport * from \"./ForgetPassword.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./OtpForm.vue?vue&type=style&index=0&id=3cd8ffa8&lang=css\""],"sourceRoot":""}