{"version":3,"file":"shindan_slide_form-855d48e6.js","sources":["../../../app/javascript/javascripts/composables/inquiry/shindan_validation.ts","../../../app/javascript/images/shindan/nensyu_logo_pc.png","../../../app/javascript/images/shindan/nensyu_logo_sp.png","../../../app/javascript/images/shindan/kakko01.png","../../../app/javascript/images/shindan/kakko02.png","../../../app/javascript/images/shindan/img_woman_pc.png","../../../app/javascript/images/shindan/img_woman_sp.png","../../../app/javascript/images/shindan/img_male_pc.png","../../../app/javascript/images/shindan/img_male_sp.png","../../../app/javascript/images/shindan/bn_no1_pc.png","../../../app/javascript/images/shindan/bn_no1_sp.png","../../../app/javascript/javascripts/components/shindan/shindan_slide_section1.vue","../../../app/javascript/javascripts/components/shindan/shindan_slide_section2.vue","../../../app/javascript/javascripts/components/shindan/shindan_slide_section3.vue","../../../app/javascript/javascripts/components/shindan/shindan_slide_section4.vue","../../../app/javascript/javascripts/components/shindan/shindan_slide_section5.vue","../../../app/javascript/javascripts/components/shindan/shindan_slide_section6.vue","../../../app/javascript/javascripts/components/shindan/shindan_slide_section7.vue","../../../app/javascript/javascripts/components/shindan/shindan_slide_section8.vue","../../../app/javascript/javascripts/components/shindan/shindan_slide_box.vue","../../../app/javascript/entrypoints/shindan/shindan_slide_form.ts"],"sourcesContent":["// å¹´åŽè¨ºæ–フォームã®ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³\n// vuelidateã®ãƒ©ãƒƒãƒ‘ーãªã®ã§ã€åˆ©ç”¨ã®éš›ã¯vuelidateã®ãƒ‰ã‚ュメント(https://vuelidate-next.netlify.app/)ã‚‚å‚ç…§ãã ã•ã„。\nimport { useVuelidate } from '@vuelidate/core';\nimport { required, maxLength, email, helpers } from '@vuelidate/validators';\nimport { annualIncomeFormat } from '@/javascripts/utils/custom_validators';\nimport { rules } from '@/javascripts/composables/inquiry/validation';\n\nimport type { Ref } from 'vue';\nimport type { ValidationRuleCollection } from '@vuelidate/core';\nimport type Inquiry from '@/javascripts/utils/inquiry';\nimport type { InquiryValidation } from '@/javascripts/composables/inquiry/validation';\n\n/** ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã™ã‚‹é …ç›® */\nexport type ValidationKey =\n 'employmentTypeCd' | 'wishfulTimeCd' | 'prefectureCd' |\n 'lastName' | 'firstName' | 'lastNameKana' | 'firstNameKana' |\n 'birthYearCd' | 'phone' | 'email' | 'comment' |\n 'annualIncome' | 'callAcceptance' | 'genderTypeCd';\n\ntype ValidationRules = {\n [keys in ValidationKey]: ValidationRuleCollection<Inquiry[keys]>\n};\n\nconst shindanValidationRules: ValidationRules = {\n ...rules,\n email: {\n required: helpers.withMessage('メールアドレスを入力ã—ã¦ãã ã•ã„', required),\n email: helpers.withMessage('メールアドレスãŒæ£ã—ãã‚ã‚Šã¾ã›ã‚“', email),\n maxLength: helpers.withMessage('80æ–‡å—以内ã§å…¥åŠ›ã—ã¦ãã ã•ã„', maxLength(80))\n },\n genderTypeCd: {\n required: helpers.withMessage('性別をé¸æŠžã—ã¦ãã ã•ã„', required)\n },\n annualIncome: {\n required: helpers.withMessage('ç¾åœ¨ã®å¹´åŽã‚’入力ã—ã¦ãã ã•ã„', required),\n numeric: helpers.withMessage('åŠè§’æ•°å—ã§æ£ã—ã„å¹´åŽã‚’入力ã—ã¦ãã ã•ã„', annualIncomeFormat),\n maxLength: helpers.withMessage('4æ¡ä»¥å†…ã§å…¥åŠ›ã—ã¦ãã ã•ã„', maxLength(4))\n },\n callAcceptance: {\n required: helpers.withMessage('電話ã§ã®ã”連絡を希望ã™ã‚‹ã‹é¸æŠžã—ã¦ãã ã•ã„', required)\n },\n comment: {\n maxLength: helpers.withMessage('400æ–‡å—以内ã§å…¥åŠ›ã—ã¦ãã ã•ã„', maxLength(400))\n }\n}\n\n/** ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³å¯¾è±¡ã¨ãªã‚‹å•ã„åˆã‚ã›ã‚ªãƒ–ジェクト */\ntype InquiryObj = Pick<Inquiry, ValidationKey>;\n\n/**\n * 診æ–フォームã®ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã«é–¢ã™ã‚‹ã‚³ãƒ³ãƒãƒ¼ã‚¶ãƒ–ル関数(ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³é …目を指定)\n * @param inquiry ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã™ã‚‹å•ã„åˆã‚ã›ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹\n * @param validationFields ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã™ã‚‹é …ç›®\n */\nexport default function useShindanInquiryValidation(inquiry: InquiryObj | Ref<InquiryObj>): Ref<InquiryValidation> {\n return useVuelidate(shindanValidationRules, inquiry, { $autoDirty: true });\n}\n","export default \"__VITE_ASSET__c254972a__\"","export default \"__VITE_ASSET__2e45e03f__\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABxSURBVHgB7dExEYAwAATBwCAICzhBGk6wgCOoMHHZrb69+WW/7ndMZB2T2f7xnMcyJjDdw4LrBNcJrhNcJ7hOcJ3gOsF1gusE1wmuE1wnuE5wneA6wXWC6wTXCa4TXCe4TnCd4DrBdYLrBNcJrhNc9wESbwR67Jg7FQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABtSURBVHgB7duxEYAwDARBm4oomU4oDYaAJk67ieIbxb/XEOd1P9891jCC6wTXCa4TXCe4TnCd4DrBdYLrBNcJrhNcJ7hOcJ3gOsF1gusE1wmuE1wnuE5wneA6wXWC6wTXCa4TXLf/xdYU4z78AjksBZOv5HiZAAAAAElFTkSuQmCC\"","export default \"__VITE_ASSET__25cab559__\"","export default \"__VITE_ASSET__0f055db0__\"","export default \"__VITE_ASSET__387318dc__\"","export default \"__VITE_ASSET__9823e93f__\"","export default \"__VITE_ASSET__4cc8261d__\"","export default \"__VITE_ASSET__64daf034__\"","<script setup lang=\"ts\">\nimport { getAreas } from '@/javascripts/utils/inquiry_form_options';\nimport Inquiry from '@/javascripts/utils/inquiry';\nimport SlideIndicator from './slide_indicator.vue';\n\nconst emit = defineEmits(['next']);\n\nconst props = defineProps<{\n inquiry: Inquiry,\n currentSlideIndex: number,\n}>();\n\nconst areas = getAreas();\n\nconst emitNextIfUnchanged = function(clicked: number | string) {\n if (props.inquiry.areaCd == clicked) {\n emit('next');\n }\n}\n</script>\n\n<template>\n <div class=\"inner_content inner_step\">\n <div class=\"main_content step_content\">\n <SlideIndicator :current-slide-index=\"currentSlideIndex\" />\n <h2>ã‚ãªãŸã®ãŠä½ã¾ã„ã®ã‚¨ãƒªã‚¢ã¯ï¼Ÿ</h2>\n <div class=\"box_step_btn box_step_btn_p01\">\n <div\n v-for=\"area in areas\"\n :key=\"area.cd\"\n class=\"step_btn\"\n >\n <label :for=\"`area_cd_${area.cd}`\">\n <input\n :id=\"`area_cd_${area.cd}`\"\n v-model=\"inquiry.areaCd\"\n type=\"radio\"\n name=\"area_cd\"\n :value=\"area.cd\"\n @change=\"emit('next')\"\n @click=\"emitNextIfUnchanged(area.cd)\"\n >\n <p>{{ area.text }}</p>\n </label>\n </div>\n </div>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { getPrefecturesByAreaCd } from '@/javascripts/utils/inquiry_form_options';\nimport Inquiry from '@/javascripts/utils/inquiry';\nimport SlideIndicator from './slide_indicator.vue';\n\nconst emit = defineEmits(['next', 'back']);\n\nconst props = defineProps<{\n inquiry: Inquiry,\n currentSlideIndex: number,\n}>();\n\nconst prefectures = getPrefecturesByAreaCd(props.inquiry.areaCd);\n\nconst emitNextIfUnchanged = function(clicked: number | string) {\n if (props.inquiry.prefectureCd == clicked) {\n emit('next');\n }\n}\n</script>\n\n<template>\n <div class=\"inner_content inner_step\">\n <div class=\"main_content step_content\">\n <SlideIndicator :current-slide-index=\"currentSlideIndex\" />\n <h2>ã‚ãªãŸã®ãŠä½ã¾ã„ã®éƒ½é“府県ã¯ï¼Ÿ</h2>\n <div class=\"box_step_btn\">\n <div \n v-for=\"prefecture in prefectures\"\n :key=\"prefecture.cd\"\n class=\"step_btn\"\n >\n <label :for=\"`prefecture_${prefecture.cd}`\">\n <input\n :id=\"`prefecture_${prefecture.cd}`\"\n v-model=\"inquiry.prefectureCd\"\n type=\"radio\"\n name=\"prefecture_cd\"\n :value=\"prefecture.cd\"\n @change=\"emit('next')\"\n @click=\"emitNextIfUnchanged(prefecture.cd)\"\n >\n <p>{{ prefecture.text }}</p>\n </label>\n </div>\n </div>\n <div class=\"box_btn_nextback\">\n <div class=\"btn_back\">\n <button @click.once=\"emit('back')\">\n <span>戻る</span>\n </button>\n </div>\n </div>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { getBusinessCategories } from '@/javascripts/utils/inquiry_form_options';\nimport Inquiry from '@/javascripts/utils/inquiry';\nimport SlideIndicator from './slide_indicator.vue';\n\nconst emit = defineEmits(['next', 'back']);\n\nconst props = defineProps<{\n inquiry: Inquiry,\n currentSlideIndex: number,\n}>();\n\nconst businessCategories = getBusinessCategories();\n\nconst emitNextIfUnchanged = function(clicked: number | string) {\n if (props.inquiry.businessCategoryCd == clicked) {\n emit('next');\n }\n}\n</script>\n\n<template>\n <div class=\"inner_content inner_step\">\n <div class=\"main_content step_content\">\n <SlideIndicator :current-slide-index=\"currentSlideIndex\" />\n <h2>ã‚ãªãŸã®ã”希望ã®æ¥ç¨®ã¯ï¼Ÿ</h2>\n <div class=\"box_step_btn box_step_btn_p01\">\n <div\n v-for=\"businessCategory in businessCategories\"\n :key=\"businessCategory.cd\"\n class=\"step_btn\"\n >\n <label :for=\"`business_${businessCategory.cd}`\">\n <input\n :id=\"`business_${businessCategory.cd}`\"\n v-model=\"inquiry.businessCategoryCd\"\n type=\"radio\"\n name=\"business_cd\"\n :value=\"businessCategory.cd\"\n @change=\"emit('next')\"\n @click=\"emitNextIfUnchanged(businessCategory.cd)\"\n >\n <p>{{ businessCategory.text }}</p>\n </label>\n </div>\n </div>\n <div class=\"box_btn_nextback\">\n <div class=\"btn_back\">\n <button @click.once=\"emit('back')\">\n <span>戻る</span>\n </button>\n </div>\n </div>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { getEmploymentTypes } from '@/javascripts/utils/inquiry_form_options';\nimport Inquiry from '@/javascripts/utils/inquiry';\nimport SlideIndicator from './slide_indicator.vue';\n\nconst emit = defineEmits(['next', 'back']);\n\nconst props = defineProps<{\n inquiry: Inquiry,\n currentSlideIndex: number,\n}>();\n\nconst employmentTypes = getEmploymentTypes();\n\nconst emitNextIfUnchanged = function(clicked: number | string) {\n if (props.inquiry.employmentTypeCd == clicked) {\n emit('next');\n }\n}\n</script>\n\n<template>\n <div class=\"inner_content inner_step\">\n <div class=\"main_content step_content\">\n <SlideIndicator :current-slide-index=\"currentSlideIndex\" />\n <h2>ã‚ãªãŸã®ã”希望ã®é›‡ç”¨å½¢æ…‹ã¯ï¼Ÿ</h2>\n <div class=\"box_step_btn box_step_btn_p01\">\n <div\n v-for=\"employmentType in employmentTypes\"\n :key=\"employmentType.cd\"\n class=\"step_btn\"\n >\n <label :for=\"`emplyment_type_${employmentType.cd}`\">\n <input\n :id=\"`emplyment_type_${employmentType.cd}`\"\n v-model=\"inquiry.employmentTypeCd\"\n type=\"radio\"\n name=\"emplyment_type_cd\"\n :value=\"employmentType.cd\"\n @change=\"emit('next')\"\n @click=\"emitNextIfUnchanged(employmentType.cd)\"\n >\n <p>{{ employmentType.text }}</p>\n </label>\n </div>\n </div>\n <div class=\"box_btn_nextback\">\n <div class=\"btn_back\">\n <button @click.once=\"emit('back')\">\n <span>戻る</span>\n </button>\n </div>\n </div>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport Inquiry from '@/javascripts/utils/inquiry';\nimport SlideIndicator from './slide_indicator.vue';\n\nconst emit = defineEmits(['next', 'back']);\n\nconst props = defineProps<{\n inquiry: Inquiry,\n currentSlideIndex: number,\n}>();\n\nconst emitNextIfUnchanged = function(clicked: boolean) {\n if (props.inquiry.dispensingExperience == clicked) {\n emit('next');\n }\n}\n</script>\n\n<template>\n <div class=\"inner_content inner_step\">\n <div class=\"main_content step_content\">\n <SlideIndicator :current-slide-index=\"currentSlideIndex\" />\n <h2>調剤æ¥å‹™ã®çµŒé¨“ã¯ã‚ã‚Šã¾ã™ã‹ï¼Ÿ</h2>\n <div class=\"box_step_btn box_step_btn_p01\">\n <div class=\"step_btn\">\n <label for=\"dispensing_experience_true\">\n <input\n id=\"dispensing_experience_true\"\n v-model=\"inquiry.dispensingExperience\"\n type=\"radio\"\n name=\"dispensing_experience\"\n :value=\"true\"\n @change=\"emit('next')\"\n @click=\"emitNextIfUnchanged(true)\"\n >\n <p>経験ã‚ã‚Š</p>\n </label>\n </div>\n <div class=\"step_btn\">\n <label for=\"dispensing_experience_false\">\n <input\n id=\"dispensing_experience_false\"\n v-model=\"inquiry.dispensingExperience\"\n type=\"radio\"\n name=\"dispensing_experience\"\n :value=\"false\"\n @change=\"emit('next')\"\n @click=\"emitNextIfUnchanged(false)\"\n >\n <p>経験ãªã—</p>\n </label>\n </div>\n </div>\n <div class=\"box_btn_nextback\">\n <div class=\"btn_back\">\n <button @click.once=\"emit('back')\">\n <span>戻る</span>\n </button>\n </div>\n </div>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { getBirthYears, getGenderTypes } from '@/javascripts/utils/inquiry_form_options';\nimport type { InquiryValidation } from '@/javascripts/composables/inquiry/validation';\nimport Inquiry from '@/javascripts/utils/inquiry';\nimport SlideIndicator from './slide_indicator.vue';\n\nconst emit = defineEmits(['next', 'back']);\n\nconst props = defineProps<{\n inquiry: Inquiry,\n inquiryValidation: InquiryValidation,\n currentSlideIndex: number,\n}>();\n\nconst birthYears = getBirthYears();\nconst genderTypes = getGenderTypes();\n\n/** åå‰ã¨ç”Ÿã¾ã‚Œå¹´ã®ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³çµæžœ */\nconst invalid = computed(() => \n props.inquiryValidation.genderTypeCd.$invalid || \n props.inquiryValidation.birthYearCd.$invalid ||\n props.inquiryValidation.annualIncome.$invalid\n);\n</script>\n\n<template>\n <div class=\"inner_content inner_step\">\n <div class=\"main_content step_content\">\n <SlideIndicator :current-slide-index=\"currentSlideIndex\" />\n <h2>生ã¾ã‚Œå¹´ãƒ»æ€§åˆ¥ãƒ»<br class=\"view_sp\">ç¾åœ¨ã®å¹´åŽã‚’æ•™ãˆã¦ãã ã•ã„</h2>\n <div class=\"box_form\">\n <table>\n <tr>\n <th>\n 生ã¾ã‚Œå¹´\n </th>\n <td>\n <p class=\"select_box\">\n <select\n v-model=\"inquiry.birthYearCd\"\n class=\"shindan_select_inner\"\n required\n >\n <option\n :value=\"null\"\n disabled\n selected\n style=\"display:none;\"\n >\n é¸æŠžã—ã¦ãã ã•ã„\n </option>\n <option\n v-for=\"birthYear in birthYears\"\n :key=\"birthYear.cd\"\n :value=\"birthYear.cd\"\n >\n {{ birthYear.text }}\n </option>\n </select>\n </p>\n </td>\n </tr>\n <tr>\n <th class=\"view_pc\" />\n <td class=\"form_error\">\n <p\n v-for=\"(error, index) in inquiryValidation.birthYearCd.$errors\"\n :key=\"index\"\n class=\"form_errormessage\"\n >\n {{ error.$message }}\n </p>\n </td>\n </tr>\n <tr class=\"box_input box_input_btn\">\n <th class=\"input_tit\">\n 性別\n </th>\n <td class=\"inner_input_btn\">\n <div\n v-for=\"genderType in genderTypes\"\n :key=\"genderType.cd\"\n class=\"step_btn\"\n >\n <label\n class=\"shindan_radio_label\"\n :for=\"`gender_type_${genderType.cd}`\"\n >\n <input\n :id=\"`gender_type_${genderType.cd}`\"\n v-model=\"inquiry.genderTypeCd\"\n type=\"radio\"\n name=\"gender_type_cd\"\n class=\"shindan_radio_input\"\n :value=\"genderType.cd\"\n >\n <p>{{ genderType.text }}</p>\n </label>\n </div>\n </td>\n </tr>\n <tr>\n <th class=\"view_pc\" />\n <td class=\"form_error\">\n <p\n v-for=\"(error, index) in inquiryValidation.genderTypeCd.$errors\"\n :key=\"index\"\n class=\"form_errormessage\"\n >\n {{ error.$message }}\n </p>\n </td>\n </tr>\n <tr class=\"box_input\">\n <th class=\"input_tit\">\n ç¾åœ¨ã®å¹´åŽ\n </th>\n <td class=\"box_annualincome\">\n <input\n v-model=\"inquiry.annualIncome\"\n required\n class=\"annualincome\"\n placeholder=\"450\"\n type=\"text\"\n maxlength=\"4\"\n >\n <p class=\"txt_annualincome\">\n 万円\n </p>\n </td>\n </tr>\n <tr>\n <th class=\"view_pc\" />\n <td class=\"form_error\">\n <p\n v-for=\"(error, index) in inquiryValidation.annualIncome.$errors\"\n :key=\"index\"\n class=\"form_errormessage\"\n >\n {{ error.$message }}\n </p>\n </td>\n </tr>\n </table>\n </div>\n <div class=\"box_btn_nextback\">\n <div class=\"btn_back\">\n <button @click.once=\"emit('back')\">\n <span>戻る</span>\n </button>\n </div>\n <div class=\"btn_next input_btn\">\n <button\n id=\"ph_next_1\"\n :disabled=\"invalid\"\n class=\"shindan_nextbtn_area\"\n :class=\"{\n 'shindan_next_btn_off': invalid,\n 'shindan_next_btn_on': !invalid\n }\"\n @click.once=\"$emit('next')\"\n >\n <span>次ã¸</span>\n </button>\n </div>\n </div>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { InquiryValidation } from '@/javascripts/composables/inquiry/validation';\nimport Inquiry from '@/javascripts/utils/inquiry';\nimport SlideIndicator from './slide_indicator.vue';\n\nconst emit = defineEmits(['next', 'back']);\n\nconst props = defineProps<{\n inquiry: Inquiry,\n inquiryValidation: InquiryValidation,\n currentSlideIndex: number,\n}>();\n\nconst invalid = computed(() => \n props.inquiryValidation.lastName.$invalid ||\n props.inquiryValidation.firstName.$invalid || \n props.inquiryValidation.lastNameKana.$invalid || \n props.inquiryValidation.firstNameKana.$invalid || \n props.inquiryValidation.phone.$invalid ||\n props.inquiryValidation.callAcceptance.$invalid\n);\n\n/** ãŠåå‰ã®ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã‚¨ãƒ©ãƒ¼(姓優先) */\nconst nameValidationErrors = computed(\n () => props.inquiryValidation.lastName.$error ? props.inquiryValidation.lastName.$errors : props.inquiryValidation.firstName.$errors\n);\n\n/** ãµã‚ŠãŒãªã®ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸(姓優先) */\nconst kanaValidationErrors = computed(\n () => props.inquiryValidation.lastNameKana.$error ? props.inquiryValidation.lastNameKana.$errors : props.inquiryValidation.firstNameKana.$errors\n);\n</script>\n\n<template>\n <div class=\"inner_content inner_step\">\n <div class=\"main_content step_content\">\n <SlideIndicator :current-slide-index=\"currentSlideIndex\" />\n <h2>ãŠåå‰ã¨é›»è©±ç•ªå·ã‚’ã”入力ãã ã•ã„</h2>\n <div class=\"box_form\">\n <table>\n <tr>\n <th>\n åå‰\n </th>\n <td class=\"input_m\">\n <input\n id=\"last_name\"\n v-model=\"inquiry.lastName\"\n required\n class=\"name\"\n name=\"last_name\"\n placeholder=\"山田\"\n type=\"text\"\n >\n <input\n id=\"name\"\n v-model=\"inquiry.firstName\"\n required\n class=\"shindan-input-text\"\n name=\"first_name\"\n placeholder=\"太郎\"\n type=\"text\"\n >\n </td>\n </tr>\n <tr>\n <th class=\"view_pc\" />\n <td class=\"form_error\">\n <p\n v-for=\"(error, index) in nameValidationErrors\"\n :key=\"index\"\n class=\"form_errormessage\"\n >\n {{ error.$message }}\n </p>\n </td>\n </tr>\n <tr>\n <th>\n ãµã‚ŠãŒãª\n </th>\n <td class=\"input_m\">\n <input\n id=\"first_name_kana\"\n v-model=\"inquiry.firstNameKana\"\n required\n class=\"name\"\n name=\"first_name_kana\"\n placeholder=\"ã‚„ã¾ã \"\n type=\"text\"\n >\n <input\n id=\"last_name_kana\"\n v-model=\"inquiry.lastNameKana\"\n required\n class=\"name\"\n name=\"last_name_kana\"\n placeholder=\"ãŸã‚ã†\"\n type=\"text\"\n >\n </td>\n </tr>\n <tr>\n <th class=\"view_pc\" />\n <td class=\"form_error\">\n <p\n v-for=\"(error, index) in kanaValidationErrors\"\n :key=\"index\"\n class=\"form_errormessage\"\n >\n {{ error.$message }}\n </p>\n </td>\n </tr>\n <tr>\n <th>\n 電話番å·\n </th>\n <td class=\"input_l\">\n <input\n v-model=\"inquiry.phone\"\n class=\"tel\"\n required\n name=\"phone\"\n placeholder=\"例:09011111111\"\n inputmode=\"numeric\"\n pattern=\"\\d*\"\n type=\"tel\"\n >\n </td>\n </tr>\n <tr>\n <th class=\"view_pc\" />\n <td class=\"form_error\">\n <p\n v-for=\"(error, index) in inquiryValidation.phone.$errors\"\n :key=\"index\"\n class=\"form_errormessage\"\n >\n {{ error.$message }}\n </p>\n </td>\n </tr>\n <tr class=\"box_input box_input_btn\">\n <th class=\"input_tit\">\n 電話ã§ã®ã”連絡\n </th>\n <td class=\"inner_input_btn\">\n <div class=\"step_btn\">\n <label\n class=\"shindan_radio_label\"\n for=\"call-01\"\n >\n <input\n id=\"call-01\"\n v-model=\"inquiry.callAcceptance\"\n :value=\"true\"\n class=\"shindan_radio_input\"\n name=\"call_acceptance_flag\"\n type=\"radio\"\n >\n <p>å¯</p>\n </label>\n </div>\n <div class=\"step_btn\">\n <label \n class=\"shindan_radio_label\"\n for=\"call-02\"\n >\n <input\n id=\"call-02\"\n v-model=\"inquiry.callAcceptance\"\n :value=\"false\"\n class=\"shindan_radio_input\"\n name=\"call_acceptance_flag\"\n type=\"radio\"\n >\n <p>ä¸å¯</p>\n </label>\n </div>\n </td>\n </tr>\n <tr>\n <th class=\"view_pc\" />\n <td class=\"form_error\">\n <p\n v-for=\"(error, index) in inquiryValidation.callAcceptance.$errors\"\n :key=\"index\"\n class=\"form_errormessage\"\n >\n {{ error.$message }}\n </p>\n </td>\n </tr>\n </table>\n </div>\n <div class=\"box_btn_nextback\">\n <div class=\"btn_back\">\n <button @click.once=\"emit('back')\">\n <span>戻る</span>\n </button>\n </div>\n <div class=\"btn_next input_btn\">\n <button\n id=\"ph_next_1\"\n :disabled=\"invalid\"\n class=\"shindan_nextbtn_area\"\n :class=\"{\n 'shindan_next_btn_off': invalid,\n 'shindan_next_btn_on': !invalid\n }\"\n @click.once=\"$emit('next')\"\n >\n <span>次ã¸</span>\n </button>\n </div>\n </div>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { ref, computed } from 'vue';\nimport { getWishfulTimes } from '@/javascripts/utils/inquiry_form_options';\nimport SlideIndicator from './slide_indicator.vue';\nimport TermOfServiceModal from '@/javascripts/common/kiyaku.vue'\nimport PrivacyPolicyModal from '@/javascripts/common/privacy_policy_modal.vue'\nimport LoadingAnimation from '@/javascripts/common/loading_animation.vue'\nimport type { InquiryValidation } from '@/javascripts/composables/inquiry/validation';\nimport Inquiry from '@/javascripts/utils/inquiry';\n\nconst emit = defineEmits(['next', 'back']);\n\nconst props = defineProps<{\n inquiry: Inquiry,\n inquiryValidation: InquiryValidation,\n currentSlideIndex: number,\n}>();\n\nconst wishfulTimes = getWishfulTimes();\n\n/** 利用è¦ç´„モーダルコンãƒãƒ¼ãƒãƒ³ãƒˆ */\nconst termOfServiceModal = ref<InstanceType<typeof TermOfServiceModal> | null>();\n/** å€‹äººæƒ…å ±ä¿è·æ–¹é‡ãƒ¢ãƒ¼ãƒ€ãƒ«ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆ */\nconst privacyPolicyModal = ref<InstanceType<typeof PrivacyPolicyModal> | null>();\n/** ãƒãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆ */\nconst loadingAnimation = ref<InstanceType<typeof LoadingAnimation> | null>();\n\nconst invalid = computed(() => \n props.inquiryValidation.email.$invalid ||\n props.inquiryValidation.wishfulTimeCd.$invalid\n);\n\n/** 利用è¦ç´„モーダルã®è¡¨ç¤º */\nconst openTermOfServiceModal = () => {\n termOfServiceModal.value?.openModal();\n}\n\n/** å€‹äººæƒ…å ±ä¿è·æ–¹é‡ãƒ¢ãƒ¼ãƒ€ãƒ«ã®è¡¨ç¤º */\nconst openPrivacyPolicyModal = () => {\n privacyPolicyModal.value?.openModal();\n}\n\n/** å•ã„åˆã‚ã›ãƒ‡ãƒ¼ã‚¿ã‚’é€ä¿¡ */\nconst post = () => {\n loadingAnimation.value?.show();\n props.inquiry.postShindanInquiry();\n}\n</script>\n\n<template>\n <div class=\"inner_content inner_step\">\n <LoadingAnimation ref=\"loadingAnimation\" />\n <div class=\"main_content step_content\">\n <TermOfServiceModal ref=\"termOfServiceModal\" />\n <PrivacyPolicyModal ref=\"privacyPolicyModal\" />\n <SlideIndicator :current-slide-index=\"currentSlideIndex\" />\n <div class=\"box_form\">\n <p class=\"txt_step\">\n å¹´åŽãƒ»æ™‚給診æ–ã®çµæžœã‚’見るã«ã¯ã€è–¬ã‚ャリエージェントã®è»¢è·æ”¯æ´ã‚µãƒ¼ãƒ“スã«ã”登録ã„ãŸã ãå¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ã”希望ã®æ¡ä»¶ã‚„プãƒãƒ•ã‚£ãƒ¼ãƒ«ã‚’ã‚‚ã¨ã«æœ€é©ãªæ±‚人をã”紹介ã„ãŸã—ã¾ã™ã€‚ãœã²å¹´åŽãƒ»æ™‚給診æ–ã¨ã¨ã‚‚ã«è»¢è·æ”¯æ´ã‚µãƒ¼ãƒ“スã«ã”登録ãã ã•ã„。\n </p>\n <table>\n <tr>\n <th>\n メールアドレス\n </th>\n <td class=\"input_l\">\n <input\n v-model=\"inquiry.email\"\n required\n autocapitalize=\"off\"\n name=\"email\"\n placeholder=\"abc@m3.com\"\n type=\"email\"\n >\n </td>\n </tr>\n <tr>\n <th class=\"view_pc\" />\n <td class=\"form_error\">\n <p\n v-for=\"(error, index) in inquiryValidation.email.$errors\"\n :key=\"index\"\n class=\"form_errormessage\"\n >\n {{ error.$message }}\n </p>\n </td>\n </tr>\n <tr class=\"box_input box_input_btn\">\n <th class=\"top_tit\">\n 希望就æ¥æ™‚期\n </th>\n <td class=\"inner_input_btn02\">\n <div\n v-for=\"wishfulTime in wishfulTimes\"\n :key=\"wishfulTime.cd\" \n class=\"step_btn\"\n >\n <label\n class=\"shindan_radio_label shindan_label_wishfultime\"\n :for=\"'wishful_time_cd_'+ wishfulTime.cd\"\n >\n <input\n :id=\"'wishful_time_cd_' + wishfulTime.cd\"\n v-model=\"inquiry.wishfulTimeCd\"\n class=\"shindan_radio_input\"\n type=\"radio\"\n name=\"wishful_time_cd\"\n :value=\"wishfulTime.cd\"\n >\n <p>{{ wishfulTime.text }}</p>\n </label>\n </div>\n </td>\n </tr>\n <tr>\n <th class=\"view_pc\" />\n <td class=\"form_error\">\n <p\n v-for=\"(error, index) in inquiryValidation.wishfulTimeCd.$errors\"\n :key=\"index\"\n class=\"form_errormessage\"\n >\n {{ error.$message }}\n </p>\n </td>\n </tr>\n </table>\n </div>\n <div class=\"box_btn_nextback box_btn_nextback_fin\">\n <div class=\"btn_back\">\n <button @click.once=\"emit('back')\">\n <span>戻る</span>\n </button>\n </div>\n <div class=\"btn_next btn_next_fin\">\n <div class=\"txt_btn_next\">\n <span\n class=\"modal_link\"\n @click=\"openTermOfServiceModal()\"\n >利用è¦ç´„</span>・\n <span\n class=\"modal_link\"\n @click=\"openPrivacyPolicyModal()\"\n >å€‹äººæƒ…å ±ä¿è·æ–¹é‡</span>ã«åŒæ„ã—ã€\n </div>\n <button\n id=\"submit_btn\"\n :disabled=\"invalid\"\n class=\"shindan_submit\"\n @click.once=\"post()\"\n >\n <p>転è·æ”¯æ´ã‚µãƒ¼ãƒ“スã«ç™»éŒ²ã—<br>診æ–çµæžœã‚’見る</p>\n </button>\n </div>\n </div>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { ref, reactive, computed } from 'vue'\nimport Inquiry from '@/javascripts/utils/inquiry'\nimport useShindanInquiryValidation from '@/javascripts/composables/inquiry/shindan_validation';\nimport SectionTop from './shindan_slide_top.vue';\nimport Section1 from './shindan_slide_section1.vue';\nimport Section2 from './shindan_slide_section2.vue';\nimport Section3 from './shindan_slide_section3.vue';\nimport Section4 from './shindan_slide_section4.vue';\nimport Section5 from './shindan_slide_section5.vue';\nimport Section6 from './shindan_slide_section6.vue';\nimport Section7 from './shindan_slide_section7.vue';\nimport Section8 from './shindan_slide_section8.vue';\n\nconst currentSlideIndex = ref<number>(0);\nconst transitionName = ref<'next' | 'back'>('next');\n\nconst inquiry = reactive(new Inquiry);\n\nconst v$ = useShindanInquiryValidation(inquiry);\n\n/** `next`イベントãƒãƒ³ãƒ‰ãƒ©ãƒ¼ */\nconst next = () => {\n transitionName.value = 'next';\n currentSlideIndex.value++;\n} \n\n/** `back`イベントãƒãƒ³ãƒ‰ãƒ©ãƒ¼ */\nconst back = () => {\n transitionName.value = 'back';\n currentSlideIndex.value--;\n}\n\n/** スライドコンãƒãƒ¼ãƒãƒ³ãƒˆãƒªã‚¹ãƒˆ */\nconst slideComponents: Vue.Component[] = [\n SectionTop,\n Section1,\n Section2,\n Section3,\n Section4,\n Section5,\n Section6,\n Section7,\n Section8,\n];\n\nconst currentSlideComponent = computed(() => slideComponents[currentSlideIndex.value]);\n</script>\n\n<template>\n <Transition\n :name=\"transitionName\"\n mode=\"out-in\"\n >\n <component\n :is=\"currentSlideComponent\"\n :inquiry-validation=\"v$\"\n :inquiry.sync=\"inquiry\"\n :current-slide-index=\"currentSlideIndex\"\n @next=\"next\"\n @back=\"back\"\n />\n </Transition>\n</template>\n","import Vue from 'vue';\nimport shindanSlideForm from '@/javascripts/components/shindan/shindan_slide_box.vue';\n\nnew Vue(shindanSlideForm).$mount('#app');\n"],"names":["shindanValidationRules","rules","helpers","required","email","maxLength","annualIncomeFormat","useShindanInquiryValidation","inquiry","useVuelidate","__$_require_199001b3__","__$_require_631c98ee__","__$_require_22dc8d41__","__$_require_249165e0__","__$_require_3c9ed907__","__$_require_1cfeea46__","__$_require_225b251c__","__$_require_b897c170__","__$_require_3489fd86__","__$_require_2d28a148__","areas","getAreas","clicked","props","emit","prefectures","getPrefecturesByAreaCd","businessCategories","getBusinessCategories","employmentTypes","getEmploymentTypes","birthYears","getBirthYears","genderTypes","getGenderTypes","invalid","computed","nameValidationErrors","kanaValidationErrors","wishfulTimes","getWishfulTimes","termOfServiceModal","ref","privacyPolicyModal","loadingAnimation","_a","currentSlideIndex","transitionName","reactive","Inquiry","v$","next","back","slideComponents","SectionTop","Section1","Section2","Section3","Section4","Section5","Section6","Section7","Section8","currentSlideComponent","Vue","shindanSlideForm"],"mappings":"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"}