import{V as p,p as h,n as v,F as l,c as ye,f as J,as as le,at as q,u as O,E as ge}from"./client-BmVmnFEC.js";import{P as Ee}from"./PvLogger-Bfc8O67g.js";import{c as I,r as Z,j as Se}from"./date-BYBoZiPG.js";import{t as x,c as ce,a as w,g as be,b as Ae}from"./convertLocalDateInput-CZYNcL1M.js";import{c as B,a as R,m as Fe,e as De,_ as g,I as _e,b as Ie,d as Te,f as L,g as we,h as xe,i as Be,j as Re,k as Pe}from"./get-paypay-amount-by-reservation-CaxCpWH0.js";import{I as me}from"./IconPaypay-WqwB5i8Z.js";import{I as ke,_ as Ne,c as V,b as Oe,D}from"./ic-question-DDlXwbQ6.js";import{M as de}from"./ModalContainer-Ay4_gr4v.js";import{C as Le}from"./ClampedText-B5cam6Hq.js";import{V as $e,g as K}from"./makeGtmScript-B8HLg2s0.js";import{d as ee}from"./reservationForm-Dp267T2i.js";import"./index-B0CiJK2p.js";import"./loginSession-CK-JZbKZ.js";const qe=p.extend({props:{text:{type:String,default:""},lineCount:{type:Number,default:2},expandText:{type:String,default:"もっとみる"},shrinkable:{type:Boolean,default:!1},shrinkText:{type:String,default:"閉じる"},clickActionType:{type:String,default:null},clickActionValue:{type:Object,default:null},isDisplayed:{type:Boolean,default:!1}},data(){return{isExpanded:!1,shouldShowExpandButton:!1}},watch:{isDisplayed(s){s&&(this.shouldShowExpandButton=this.checkIsClamped())}},mounted(){this.checkIsClamped()&&(this.shouldShowExpandButton=!0)},methods:{expand(){this.isExpanded=!0,this.clickActionType&&h({type:"action",actionType:this.clickActionType,...this.clickActionValue?{actionValue:this.clickActionValue}:{}})},shrink(){this.isExpanded=!1},checkIsClamped(){const{content:s}=this.$refs;return s instanceof Element?s.scrollHeight>s.clientHeight:!1}}});var Ve=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("div",{staticClass:"clamped-text"},[t("p",{ref:"content",staticClass:"clamped-text__content",class:{"clamped-text__content--is-expanded":e.isExpanded},style:{"--line-count":`${e.lineCount}`}},[e._v(" "+e._s(e.text)+" ")]),e.shouldShowExpandButton?[e.isExpanded?e.shrinkable?t("span",{staticClass:"clamped-text__button",on:{click:e.shrink}},[e._v(e._s(e.shrinkText))]):e._e():t("span",{staticClass:"clamped-text__button",on:{click:e.expand}},[e._v(e._s(e.expandText))])]:e._e()],2)},Me=[],Ue=v(qe,Ve,Me,!1,null,"55fb9561");const Ge=Ue.exports,He=p.extend({props:{isYuzuColor:{type:Boolean,default:!1},wideBanner:{type:Boolean,default:!1}},computed:{clickActionType(){return l.CLICK_APP_DOWNLOAD_LINK}},methods:{sendClickLog(){h({type:"action",actionType:this.clickActionType})}}}),Ye=""+new URL("app_icon-COEdpy2G-4024ec.svg",import.meta.url).href;var Qe=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("anchor-link",{staticClass:"paypay-app-otoku",class:{"paypay-app-otoku--color-yuzu":e.isYuzuColor,"paypay-app-otoku--wide":e.wideBanner},attrs:{to:"/announce/paypay-bonus/",target:"_blank"},nativeOn:{click:function(a){return e.sendClickLog.apply(null,arguments)}}},[t("div",{staticClass:"paypay-app-otoku__content"},[t("img",{staticClass:"paypay-app-otoku__image",attrs:{src:Ye,alt:"Rettyアプリのアイコン"}}),t("p",{staticClass:"paypay-app-otoku__text"},[e._v("アプリから予約すると、"),t("span",{staticClass:"paypay-app-otoku__bigger-text"},[e._v("PayPayポイント"),t("em",{staticClass:"paypay-app-otoku__bigger-text--2bai"},[e._v("2倍")]),e._v("でおトク!")])])]),t("span",{staticClass:"paypay-app-otoku__link"},[e._v("詳しくみる")])])},ze=[],je=v(He,Qe,ze,!1,null,"777b92cb");const he=je.exports,te=384,We=30,Xe=p.extend({components:{IconPaypay:me,IconTel:ke,ClampedText:Ge,PaypayAppOtokuBanner:he},props:{pageEntity:{type:Object,required:!0},reserveDate:{type:String,default:""},numberOfCustomers:{type:Number,default:2},isFromCourseDetail:{type:Boolean,default:!1},seatId:{type:String,default:null}},data(){return{inputReserveDate:this.reserveDate,inputNumberOfCustomers:this.numberOfCustomers,errorMessage:"",scrollX:0,scrollContent:null}},computed:{targetCourse(){var r,i,u,n;if(!this.isFromCourseDetail||!this.$route.query.course)return null;const e=((n=(u=(i=(r=this.pageEntity)==null?void 0:r.entity)==null?void 0:i.restaurant)==null?void 0:u.specifiedCourse)==null?void 0:n.normal)||null;if(!e)return null;const t=B(e.price||0,e.discountedPrice),a=R(e.timeFrame);return{type:"normal",id:e.id,title:e.title,image:(e==null?void 0:e.imageUrl)||"",isAllYouCanDrink:e.isAllYouCanDrink,isAllYouCanEat:e.isAllYouCanEat,timeFrameText:a,taxText:x(e.taxType,{before:"(",after:")"}),priceLocaleText:t.priceLocaleText,preDiscountedPriceLocaleText:t.preDiscountedPriceLocaleText,shouldShowLabel:a.length>0||e.isAllYouCanDrink||e.isAllYouCanEat}},targetSeat(){var n,o,_,c;if(!this.seatId)return null;const s=(c=(_=(o=(n=this.pageEntity)==null?void 0:n.entity)==null?void 0:o.restaurant)==null?void 0:_.reservableSeats)==null?void 0:c.find(m=>String(m.id)===String(this.seatId));if(!s)return null;const e=s.smoking?s.smoking==="UNAVAILABLE":!1,t=s.smoking?s.smoking==="AVAILABLE":!1,a=s.smoking?s.smoking==="AVAILABLE_ONLY_HEATED_CIGARETTE":!1,{fee:r=0,rate:i=0,type:u}=s.seatCharge;return{id:s.id,name:s.name,imageUrl:s.imageUrl||"",description:(s==null?void 0:s.description)??"",seatType:(s==null?void 0:s.type)||null,shouldShowNotSmokingLabel:e,shouldShowSmokingLabel:t,shouldShowHeatedSmokingLabel:a,feeLocaleText:r&&r>0?r.toLocaleString():"",rate:i,chargeType:u}},targetSeatOnlyCourse(){var s,e,t,a;return((a=(t=(e=(s=this.pageEntity)==null?void 0:s.entity)==null?void 0:e.restaurant)==null?void 0:t.specifiedCourse)==null?void 0:a.seatOnly)||null},reserveDateLabel(){var e;const s=(e=this.mergeDate)==null?void 0:e.find(t=>t.value===this.reserveDate);return s?s.label:"選択できませんでした"},reserveTime(){const{reserveTime:s}=this.$route.query;return s?String(s):null},numberOfCustomersLabel(){const s=this.numberOfCustomerOptions.find(e=>e.value===String(this.numberOfCustomers));return s?s.label:"選択できませんでした"},isEmptyStockByNumberOfCustomers(){return this.reservableNumberOfCustomer.length>0},reservableNumberOfCustomer(){var s;return((s=this.restaurant)==null?void 0:s.reservablePartySizes)||[]},restaurant(){var s,e;return((e=(s=this.pageEntity)==null?void 0:s.entity)==null?void 0:e.restaurant)||null},restaurantName(){var s;return((s=this.restaurant)==null?void 0:s.name)||""},restaurantPhoneNumber(){var s;return((s=this.restaurant)==null?void 0:s.phoneNumbers[0])||""},restaurantUrl(){var s;return((s=this.restaurant)==null?void 0:s.url)||""},paypayDinnerAmount(){var s,e;return((e=(s=this.restaurant)==null?void 0:s.paypayBonusAmountPerPerson)==null?void 0:e.dinner)||0},paypayDinnerAmountText(){return(this.paypayDinnerAmount*Number(this.numberOfCustomers)).toLocaleString()},paypayLunchAmount(){var s,e;return((e=(s=this.restaurant)==null?void 0:s.paypayBonusAmountPerPerson)==null?void 0:e.lunch)||0},paypayLunchAmountText(){return(this.paypayLunchAmount*Number(this.numberOfCustomers)).toLocaleString()},shouldShowPayPay(){return!!(this.paypayDinnerAmount||this.paypayLunchAmount)},convertDates(){var t;return[...((t=this.restaurant)==null?void 0:t.selectableDates)||[]].reduce((a,r)=>{const i=ce(r.date),u=I(i);return a.date[u]=Z(i),a.type[u]=r.type,a},{date:{},type:{}})},convertTimes(){const{reservableTimes:s=[]}=this.restaurant||{},e=w(new Date(this.reserveDate)),t=s?s.find(r=>r.date.year===e.year&&r.date.month===e.month&&r.date.month===e.month&&r.date.day===e.day):null,{times:a=[]}=t||{};return a?a.map(r=>{const i=String(r.time.minute).padStart(2,"0"),u=`${r.time.hour}:${i}`;return{time:u,type:r.type,url:{name:"reserve-form",query:{...this.$route.query,reserveDate:String(this.reserveDate)||"",numberOfCustomers:String(this.numberOfCustomers)||"",reserveTime:u,...r.type==="REQUEST"?{seat:r.type==="REQUEST"?"0":""}:{seat:this.seatId||""},...this.isFromCourseDetail?{}:{course:null}},hash:this.targetCourse?"#seat-select-scroll":"#course-select-scroll"}}}):[]},rangeDate(){var i,u;const s=be(new Date),e=ye(s,60),t=(u=(i=this.restaurant)==null?void 0:i.selectableDates)==null?void 0:u.slice(-1)[0],a=t?new Date(t.date.year,t.date.month-1,t.date.day):e,r=Fe([e,a]);return De({start:s,end:r})},mergeDate(){return this.rangeDate.map(s=>{const e=J(s,"yyyy-MM-dd"),t=["IMMEDIATE","REQUEST"];return{label:`${this.convertDates.date[e]&&t.includes(this.convertDates.type[e])?"◯":"×"} ${Z(s,!1)}`,value:J(s,"yyyy-MM-dd")}})},numberOfCustomerOptions(){return[...Array(99)].map((s,e)=>{const t=e+1;return{label:`${(this.reservableNumberOfCustomer?this.reservableNumberOfCustomer.find(i=>i===t):null)?"◯":"×"} ${t}名`,value:String(t)}})},clickTimeSelectActionType(){return l.CLICK_RESERVATION_TIME_SELECT_PC},inviewErrorActionType(){return l.INVIEW_RESERVATION_ERROR_FLASH},noError(){return this.errorMessage.length===0},isShowNextButton(){return this.scrollContent?this.scrollContent.scrollWidth>this.scrollX+this.scrollContent.offsetWidth:!1},isShowPrevButton(){return this.scrollX>0},isPaypayCampaign(){return!1},campaignMobileApplicationUrl(){return le}},watch:{convertTimes(){this.convertTimes.length>0&&this.$nextTick(()=>{this.setDefaultScrollPosition()})}},async mounted(){this.setScrollContent(),this.setDefaultScrollPosition()},methods:{onChangeDate(){this.scrollX=0,this.$emit("change-date",this.inputReserveDate),h({type:"action",actionType:l.CLICK_RESERVATION_CALENDAR_DATE_PC,actionValue:String(this.inputReserveDate)})},onChangeNumberOfCustomers(){this.scrollX=0,this.$emit("change-number-of-customers",Number(this.inputNumberOfCustomers)),h({type:"action",actionType:l.CLICK_RESERVATION_CUSTOMER_SELECT_PC,actionValue:Number(this.inputNumberOfCustomers)})},onClickPrev(){this.scrollEvent(this.scrollX-te,"smooth")},onClickNext(){this.scrollEvent(this.scrollX+te,"smooth")},setScrollContent(){if(!this.$refs.scrollContent||!(this.$refs.scrollContent instanceof HTMLElement)){this.scrollContent=null;return}this.scrollContent=this.$refs.scrollContent},setDefaultScrollPosition(){var u;const a=((n,o)=>[...Array((o-n)*2)].map((_,c)=>{const m=new Date("2022-01-01T17:00:00Z");return m.setMinutes(c*30),m.toISOString().substring(11,16)}))(17,24),r=this.convertTimes?this.convertTimes.find(n=>a.includes(n.time)):null,i=(u=this.scrollContent)==null?void 0:u.querySelector(`li[data-time="${r==null?void 0:r.time}"]`);i&&i instanceof HTMLElement&&this.scrollEvent(i.offsetLeft-We,"auto")},async scrollEvent(s,e){this.scrollContent&&(this.scrollContent.scroll({left:s,behavior:e}),this.scrollX=s)},getSeatTypeName(s){return s===void 0?"":q[s]??""},onEnter(){h({type:"action",actionType:this.inviewErrorActionType,actionValue:"error_type=stock"})},onClickTimeSelect(s){h({type:"action",actionType:this.clickTimeSelectActionType,actionValue:s})}}});var Je=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("section",{staticClass:"section"},[t("header",{staticClass:"section__header",attrs:{translate:"no","data-stt-ignore":""}},[t("anchor-link",{attrs:{to:e.restaurantUrl}},[e._v(e._s(e.restaurantName))])],1),e.noError?t("div",{staticClass:"section__content"},[e.shouldShowPayPay?t("div",{staticClass:"paypay-information"},[t("div",{staticClass:"paypay-information__container"},[t("icon-paypay",{staticClass:"paypay-information__icon",attrs:{width:28,height:28}}),t("p",{staticClass:"paypay-information__text"},[t("span",{staticClass:"paypay-information__text-head",class:{"paypay-information__text-head--reference-mark":e.isPaypayCampaign}},[e._v(" PayPayポイント ")]),t("span",{staticClass:"paypay-information__text-em"},[t("em",{staticClass:"paypay-information__text-em-number"},[e._v(e._s(e.numberOfCustomers))]),e._v("名の予約で")]),t("span",{staticClass:"paypay-information__text-em"},[t("em",{staticClass:"paypay-information__text-em-number paypay-information__text-point"},[e._v(e._s(e.paypayDinnerAmountText))]),t("span",{staticClass:"paypay-information__text-point"},[e._v("円相当")]),e._v("獲得!")]),t("span",{staticClass:"paypay-information__new-line"},[e._v("ランチは"+e._s(e.paypayLunchAmountText)+"円相当")])])],1),t("paypay-app-otoku-banner",{staticClass:"paypay-app-otoku-banner-wrapper"})],1):e._e(),t("div",{staticClass:"form-content"},[e.targetCourse?[e._m(0),t("div",{staticClass:"selected-course-section"},[t("div",{staticClass:"selected-course-section__inner-wrap"},[e.targetCourse.image?t("x-img",{staticClass:"selected-course-section__image",attrs:{src:e.targetCourse.image,alt:"",width:104,height:104}}):t("img",{staticClass:"selected-course-section__image",attrs:{src:g,alt:"",width:"68",height:"68"}}),t("div",{staticClass:"selected-course-section__information-wrap"},[t("div",{staticClass:"selected-course-section__name"},[e._v(e._s(e.targetCourse.title))]),t("div",{staticClass:"selected-course-section__footer"},[e.targetCourse.priceLocaleText?t("div",{staticClass:"selected-course-section__price-area"},[e.targetCourse.preDiscountedPriceLocaleText.length>0?t("div",{staticClass:"selected-course-section__before-discounted-price"},[e._v(e._s(e.targetCourse.preDiscountedPriceLocaleText)+"円")]):e._e(),t("div",{staticClass:"selected-course-section__price"},[e._v(e._s(e.targetCourse.priceLocaleText)+"円"),e.targetCourse.taxText?t("span",{staticClass:"selected-course-section__tax"},[e._v(e._s(e.targetCourse.taxText))]):e._e()])]):e._e()])])],1)])]:e._e(),e.targetSeat?[e._m(1),t("div",{staticClass:"selected-seat-section"},[t("div",{staticClass:"selected-seat-section__inner-wrap"},[e.targetSeat.imageUrl.length>0?t("x-img",{staticClass:"selected-seat-section__image",attrs:{src:e.targetSeat.imageUrl,alt:"",width:160,height:160}}):t("img",{staticClass:"selected-seat-section__image",attrs:{src:g,alt:"",width:"68",height:"68"}}),t("div",{staticClass:"selected-seat-section__information-wrap"},[t("ul",{staticClass:"label-list"},[e.getSeatTypeName(e.targetSeat.seatType).length>0?t("li",{staticClass:"label-list__item"},[e._v(e._s(e.getSeatTypeName(e.targetSeat.seatType)))]):e._e(),e.targetSeat.shouldShowNotSmokingLabel?t("li",{staticClass:"label-list__item"},[e._v("禁煙")]):e._e(),e.targetSeat.shouldShowSmokingLabel?t("li",{staticClass:"label-list__item label-list__item--attract"},[e._v("喫煙可")]):e._e(),e.targetSeat.shouldShowHeatedSmokingLabel?t("li",{staticClass:"label-list__item label-list__item--attract"},[e._v("喫煙可 "),t("span",{staticClass:"label-list__annotation"},[e._v("加熱式たばこ限定")])]):e._e()]),t("div",{staticClass:"selected-seat-section__main-info"},[e._v(" "+e._s(e.targetSeat.name)+" "),e.targetSeat.chargeType==="NONE"?t("span",{staticClass:"selected-seat-section__fee"},[e._v(" チャージ料金 なし ")]):e._e(),e.targetSeat.chargeType==="BY_TABLE"?t("span",{staticClass:"selected-seat-section__fee"},[e._v(" チャージ料金 "+e._s(e.targetSeat.feeLocaleText)+"円(税込) ")]):e._e(),e.targetSeat.chargeType==="BY_PERSONS"?t("span",{staticClass:"selected-seat-section__fee"},[e._v(" チャージ料金 "+e._s(e.targetSeat.feeLocaleText)+"円(税込)/人 ")]):e._e(),e.targetSeat.chargeType==="PERCENTAGE"?t("span",{staticClass:"selected-seat-section__fee"},[e._v(" チャージ料金 "+e._s(e.targetSeat.rate)+"% ")]):e._e(),e.targetSeat.description?t("div",{staticClass:"selected-seat-section__description"},[t("clamped-text",{staticClass:"selected-seat-section__description-body",attrs:{text:e.targetSeat.description,"line-count":2,shrinkable:!0,"expand-text":"もっとみる ▼","shrink-text":"閉じる ▲"}})],1):e._e()])])],1)])]:e._e(),e._m(2),t("ul",{staticClass:"col2-form"},[t("li",{staticClass:"col2-form__col form-content__select-wrap",attrs:{translate:"no"}},[t("button",{staticClass:"form-content__select-dummy",attrs:{"data-stt-ignore":""}},[e._v(e._s(e.reserveDateLabel))]),t("select",{directives:[{name:"model",rawName:"v-model",value:e.inputReserveDate,expression:"inputReserveDate"}],staticClass:"form-content__select",on:{change:[function(a){var r=Array.prototype.filter.call(a.target.options,function(i){return i.selected}).map(function(i){var u="_value"in i?i._value:i.value;return u});e.inputReserveDate=a.target.multiple?r:r[0]},e.onChangeDate]}},e._l(e.mergeDate,function({value:a,label:r}){return t("option",{key:a,domProps:{value:a}},[e._v(e._s(r))])}),0)]),t("li",{staticClass:"col2-form__col form-content__select-wrap",attrs:{translate:"no"}},[t("button",{staticClass:"form-content__select-dummy",attrs:{"data-stt-ignore":""}},[e._v(e._s(e.numberOfCustomersLabel))]),t("select",{directives:[{name:"model",rawName:"v-model",value:e.inputNumberOfCustomers,expression:"inputNumberOfCustomers"}],staticClass:"form-content__select",on:{change:[function(a){var r=Array.prototype.filter.call(a.target.options,function(i){return i.selected}).map(function(i){var u="_value"in i?i._value:i.value;return u});e.inputNumberOfCustomers=a.target.multiple?r:r[0]},e.onChangeNumberOfCustomers]}},e._l(e.numberOfCustomerOptions,function({label:a,value:r}){return t("option",{key:r,domProps:{value:r}},[e._v(e._s(a))])}),0)])]),e._m(3),t("div",{directives:[{name:"show",rawName:"v-show",value:e.convertTimes&&e.convertTimes.length>0,expression:"convertTimes && convertTimes.length > 0"}],staticClass:"time-selector"},[t("div",{staticClass:"scroll-selector"},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.isShowPrevButton,expression:"isShowPrevButton"}],staticClass:"scroll-selector__prev",on:{click:e.onClickPrev}}),t("div",{ref:"scrollContent",staticClass:"scroll-selector__content",attrs:{id:"scrollContent"}},[t("ul",{staticClass:"time-selector__inner-wrapper"},e._l(e.convertTimes,function(a){return t("li",{key:a.time,staticClass:"time-selector__item",attrs:{"data-time":a.time}},[t("anchor-link",{staticClass:"time-selector__button",class:{"time-selector__button--inactive":e.reserveTime!==null&&a.time!==e.reserveTime},attrs:{to:a.url},nativeOn:{click:function(r){return e.onClickTimeSelect(a.time)}}},[e._v(" "+e._s(a.time)+" "),a.type==="IMMEDIATE"?t("img",{staticClass:"time-selector__status",attrs:{src:Ne,width:"15",height:"15",alt:"即予約"}}):e._e(),a.type==="REQUEST"?t("span",{staticClass:"time-selector__status time-selector__status--request"},[e._v("リクエスト")]):e._e()])],1)}),0)]),t("div",{directives:[{name:"show",rawName:"v-show",value:e.isShowNextButton,expression:"isShowNextButton"}],staticClass:"scroll-selector__next",on:{click:e.onClickNext}})])]),t("p",{directives:[{name:"show",rawName:"v-show",value:e.convertTimes&&e.convertTimes.length>0,expression:"convertTimes && convertTimes.length > 0"}],staticClass:"time-selector__description"},[e._v("リクエスト…お店からの返信をもって予約確定となります")]),!e.convertTimes||e.convertTimes.length===0?t("in-view",{on:{enter:e.onEnter}},[e.isEmptyStockByNumberOfCustomers?t("div",{staticClass:"time-selector__empty"},[e._v(" この時間は空席がありません"),t("br"),e._v("別の人数でお探しください ")]):t("div",{staticClass:"time-selector__empty"},[e._v(" この時間は空席がありません"),t("br"),e._v("別の日程でお探しください ")])]):e._e()],2)]):t("div",{staticClass:"section__content empty-section"},[t("p",{staticClass:"empty-section__description"},[e._v(e._s(e.errorMessage))]),t("p",[t("anchor-link",{staticClass:"empty-section__button",attrs:{to:"./"}},[e._v("予約TOPへ")])],1)]),t("div",{staticClass:"section__content telephone-section"},[t("dl",[t("dt",{staticClass:"telephone-section__icon"},[t("icon-tel",{attrs:{color:"#83839c"}})],1),t("dd",{staticClass:"telephone-section__tel"},[t("a",{staticClass:"telephone-section__tel-anchor",attrs:{href:`tel:${e.restaurantPhoneNumber}`}},[e._v(e._s(e.restaurantPhoneNumber))]),e.shouldShowPayPay?t("span",{staticClass:"telephone-section__description"},[e._v("お電話で予約した場合、PayPayポイントは貯まりません")]):e._e()])])]),e.isPaypayCampaign&&e.shouldShowPayPay?t("span",{staticClass:"paypay-information__notice"},[e._v(" ※ こちらの店舗はキャンペーン対象です。キャンペーンの獲得予定ポイントが上記に反映されていない場合は、付与をもってかえさせていただきます ")]):e._e()])},Ze=[function(){var s=this,e=s._self._c;return s._self._setupProxy,e("h2",{staticClass:"form-content__header"},[e("em",{staticClass:"form-content__header-em"},[s._v("選択したコース")])])},function(){var s=this,e=s._self._c;return s._self._setupProxy,e("h2",{staticClass:"form-content__header"},[e("em",{staticClass:"form-content__header-em"},[s._v("選択した座席")])])},function(){var s=this,e=s._self._c;return s._self._setupProxy,e("h2",{staticClass:"form-content__header"},[e("em",{staticClass:"form-content__header-em"},[s._v("ご来店日・人数")]),s._v("を選択")])},function(){var s=this,e=s._self._c;return s._self._setupProxy,e("h2",{staticClass:"form-content__header"},[e("em",{staticClass:"form-content__header-em"},[s._v("時間")]),s._v("を選択")])}],Ke=v(Xe,Je,Ze,!1,null,"48dc341a");const et=Ke.exports,tt=p.extend({components:{ModalContainer:de},props:{shouldShowCourseDetail:{type:Boolean,required:!0},pageEntity:{type:Object,required:!0}},computed:{queryId(){const{query:s}=this.$route;return s&&typeof s=="object"?String((s==null?void 0:s.ui_should_show_course_detail)||""):""},targetCourse(){var t,a,r,i;return[...((i=(r=(a=(t=this.pageEntity)==null?void 0:t.entity)==null?void 0:a.restaurant)==null?void 0:r.reservableCourses)==null?void 0:i.normals)||[]].find(u=>Number(this.queryId)===(u==null?void 0:u.id))||null},timeFrameToText(){var s;return R((s=this.targetCourse)==null?void 0:s.timeFrame)},convertPriceAndDiscountedPrice(){var s,e;return B(((s=this.targetCourse)==null?void 0:s.price)||0,(e=this.targetCourse)==null?void 0:e.discountedPrice)},taxText(){return this.targetCourse?x(this.targetCourse.taxType,{before:"(",after:")"}):""},partySizeText(){var s,e,t,a;return!((s=this.targetCourse)!=null&&s.minPartySize)&&!((e=this.targetCourse)!=null&&e.maxPartySize)?"":`${(t=this.targetCourse)==null?void 0:t.minPartySize}~${(a=this.targetCourse)==null?void 0:a.maxPartySize}名`},minAdvanceReservationDaysText(){var s,e,t;return typeof((s=this.targetCourse)==null?void 0:s.minAdvanceReservationDays)!="number"?"":((e=this.targetCourse)==null?void 0:e.minAdvanceReservationDays)>0?`${(t=this.targetCourse)==null?void 0:t.minAdvanceReservationDays}日前`:"当日"},selectedCourseUrlQuery(){return{name:"reserve-form",query:{...Object.fromEntries(Object.entries(this.$route.query).filter(([e,t])=>e!=="ui_should_show_course_detail")),course:this.queryId}}},keydownHandlers(){return{Escape:()=>this.onCloseModal()}}},methods:{onCloseModal(){history.back(),h({type:"action",actionType:l.CLICK_RESERVATION_BACK_BUTTON})},handleKeydown(s){const{key:e}=s;e in this.keydownHandlers&&this.keydownHandlers[e]()}}});var st=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("modal-container",{attrs:{show:e.shouldShowCourseDetail},on:{close:e.onCloseModal,keydown:e.handleKeydown}},[t("div",{staticClass:"course-wrapper"},[e.targetCourse?t("div",{staticClass:"course"},[t("div",{staticClass:"course__header"},[e.targetCourse.imageUrl?t("div",{staticClass:"course__image-wrapper"},[t("x-img",{staticClass:"course__image",attrs:{src:e.targetCourse.imageUrl,alt:"",width:340,height:340}})],1):e._e(),t("div",{staticClass:"course__about"},[t("ul",{staticClass:"course-labels"},[e.timeFrameToText.length>0?t("li",{staticClass:"course-labels__item"},[e._v(e._s(e.timeFrameToText))]):e._e(),e.targetCourse.isAllYouCanDrink?t("li",{staticClass:"course-labels__item course-labels__item--option"},[e._v("飲み放題")]):e._e(),e.targetCourse.isAllYouCanEat?t("li",{staticClass:"course-labels__item course-labels__item--option"},[e._v("食べ放題")]):e._e()]),t("h2",{staticClass:"course__title"},[e._v(e._s(e.targetCourse.title))]),e.convertPriceAndDiscountedPrice.priceLocaleText?t("div",{staticClass:"course__price-content"},[e.convertPriceAndDiscountedPrice.preDiscountedPriceLocaleText?t("del",{staticClass:"course__before-discounted-price"},[e._v(e._s(e.convertPriceAndDiscountedPrice.preDiscountedPriceLocaleText)+"円")]):e._e(),t("div",{staticClass:"course__price"},[e._v(e._s(e.convertPriceAndDiscountedPrice.priceLocaleText)+"円"),e.taxText?t("span",{staticClass:"course__tax"},[e._v(e._s(e.taxText))]):e._e()])]):e._e()])]),t("dl",{staticClass:"course-information"},[e.targetCourse.dishes.length>0?[t("dt",{staticClass:"course-information__title"},[e._v("コース内容")]),t("dd",{staticClass:"course-information__description"},[e._v(e._s(e.targetCourse.dishes))])]:e._e(),e.targetCourse.description.length>0?[t("dt",{staticClass:"course-information__title"},[e._v("コースのポイント")]),t("dd",{staticClass:"course-information__description"},[e._v(e._s(e.targetCourse.description))])]:e._e(),e.targetCourse.note?[t("dt",{staticClass:"course-information__title"},[e._v("注意事項")]),t("dd",{staticClass:"course-information__description"},[e._v(e._s(e.targetCourse.note))])]:e._e(),e.timeFrameToText.length>0?[t("dt",{staticClass:"course-information__title"},[e._v("コース時間")]),t("dd",{staticClass:"course-information__description"},[e._v(e._s(e.timeFrameToText))])]:e._e(),e.partySizeText.length>0?[t("dt",{staticClass:"course-information__title"},[e._v("予約可能人数")]),t("dd",{staticClass:"course-information__description"},[e._v(e._s(e.partySizeText))])]:e._e(),e.minAdvanceReservationDaysText.length>0?[t("dt",{staticClass:"course-information__title"},[e._v("予約受付期限")]),t("dd",{staticClass:"course-information__description"},[e._v(e._s(e.minAdvanceReservationDaysText))])]:e._e(),t("dt",{staticClass:"course-information__title"},[e._v("食べ放題")]),t("dd",{staticClass:"course-information__description"},[e._v(e._s(e.targetCourse.isAllYouCanEat?"あり":"なし"))]),t("dt",{staticClass:"course-information__title"},[e._v("飲み放題")]),t("dd",{staticClass:"course-information__description"},[e._v(e._s(e.targetCourse.isAllYouCanDrink?"あり":"なし"))])],2),t("div",{staticClass:"select-button-area"},[t("anchor-link",{staticClass:"select-button-area__button",attrs:{to:e.selectedCourseUrlQuery}},[e._v("このコースを選択")])],1)]):t("div",{staticClass:"empty-section"},[t("p",{staticClass:"empty-section__description"},[e._v("現在このコースは提供されていません")]),t("p",[t("anchor-link",{staticClass:"empty-section__button",attrs:{to:{name:"reserve-form"}}},[e._v("もどる")])],1)])])])},at=[],rt=v(tt,st,at,!1,null,"251b3a2b");const it=rt.exports,ut=p.extend({components:{IconSelected:V,IconZoomIn:_e},props:{course:{type:Object,required:!0}},computed:{isSelected(){return!!this.$route.query.course},clickCourseSelectActionType(){return l.CLICK_RESERVATION_COURSE_SELECT_PC},clickCourseDetailActionType(){return l.CLICK_RESERVATION_COURSE_DETAIL_PC},clickReserveFormCoursePhoto(){return l.CLICK_RESERVE_FORM_COURSE_PHOTO_PC}},methods:{sendClickReserveFormCoursePhotoLog(){h({type:"action",actionType:this.clickReserveFormCoursePhoto,actionValue:this.course.id})},sendClickCourseSelectActionLog(){h({type:"action",actionType:this.clickCourseSelectActionType,actionValue:this.course.id})},sendClickCourseDetailActionLog(){h({type:"action",actionType:this.clickCourseDetailActionType,actionValue:this.course.id})}}});var nt=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("div",{staticClass:"course"},[t("div",{staticClass:"course__wrap"},[t("div",{staticClass:"course__image-wrap"},[e.course.image?t("anchor-link",{attrs:{to:e.course.imageQuery},nativeOn:{click:function(a){return e.sendClickReserveFormCoursePhotoLog.apply(null,arguments)}}},[t("x-img",{staticClass:"course__image",attrs:{src:e.course.image,alt:"",width:80,height:80}})],1):t("img",{staticClass:"course__image",attrs:{src:g,alt:"",width:"80",height:"80"}}),e.course.image?t("div",{staticClass:"course__zoom-in"},[t("icon-zoom-in",{attrs:{width:22,height:22}})],1):e._e()],1),t("div",{staticClass:"course__information-wrap"},[e.course.shouldShowLabel?t("ul",{staticClass:"course__label-wrap course-labels"},[e.course.timeFrameText?t("li",{staticClass:"course-labels__item"},[e._v(e._s(e.course.timeFrameText))]):e._e(),e.course.isAllYouCanDrink?t("li",{staticClass:"course-labels__item course-labels__item--option"},[e._v("飲み放題")]):e._e(),e.course.isAllYouCanEat?t("li",{staticClass:"course-labels__item course-labels__item--option"},[e._v("食べ放題")]):e._e()]):e._e(),t("div",{staticClass:"course__name"},[e._v(e._s(e.course.title))]),t("div",{staticClass:"course__footer"},[e.course.priceLocaleText?t("div",{staticClass:"course__price-area"},[e.course.preDiscountedPriceLocaleText?t("div",{staticClass:"course__before-discounted-price"},[e._v(e._s(e.course.preDiscountedPriceLocaleText)+"円")]):e._e(),t("div",{staticClass:"course__price"},[e._v(e._s(e.course.priceLocaleText)+"円"),e.course.taxText?t("span",{staticClass:"course__tax"},[e._v(e._s(e.course.taxText))]):e._e()])]):e._e(),t("anchor-link",{staticClass:"course__to-detail",attrs:{to:e.course.detailQuery},nativeOn:{click:function(a){return e.sendClickCourseDetailActionLog.apply(null,arguments)}}},[e._v("メニューをみる")])],1)])]),t("anchor-link",{directives:[{name:"show",rawName:"v-show",value:!e.isSelected,expression:"!isSelected"}],staticClass:"course__button",attrs:{to:e.course.urlQuery},nativeOn:{click:function(a){return e.sendClickCourseSelectActionLog.apply(null,arguments)}}},[e._v("選択する")]),t("span",{directives:[{name:"show",rawName:"v-show",value:e.isSelected,expression:"isSelected"}],staticClass:"course__button course__button--selected"},[t("icon-selected",{staticClass:"seat-item__button-icon",attrs:{color:"#d5d5d8"}}),e._v("選択済み")],1)],1)},ot=[],lt=v(ut,nt,ot,!1,null,"aa181c73");const ct=lt.exports,_t=p.extend({components:{ModalContainer:de},props:{courseImage:{type:String,default:""},shouldShowNextButton:{type:Boolean,default:!1},shouldShowPrevButton:{type:Boolean,default:!1},show:{type:Boolean,required:!0}},computed:{keydownHandlers(){return{Escape:()=>this.$emit("close"),ArrowRight:()=>this.$emit("next"),ArrowLeft:()=>this.$emit("prev")}}},methods:{handleKeydown(s){const{key:e}=s;e in this.keydownHandlers&&this.keydownHandlers[e]()}}});var mt=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("modal-container",e._g({attrs:{"show-next-button":e.shouldShowNextButton,"show-prev-button":e.shouldShowPrevButton,show:e.show},on:{keydown:e.handleKeydown}},e.$listeners),[t("figure",[t("x-img",{staticClass:"course-image",attrs:{src:e.courseImage,height:1200,width:1200,mode:"resize",da:"l"}})],1)])},dt=[],ht=v(_t,mt,dt,!1,null,"d6b5ba11");const pe=ht.exports,se="NO_PRICE_GROUP_FILTER",ae="LOW_PRICE_GROUP_FILTER",re="MID_PRICE_GROUP_FILTER",ie="HIGH_PRICE_GROUP_FILTER",pt=p.extend({components:{CourseImageModal:pe,IconSelected:V,CourseSelectorCard:ct},props:{pageEntity:{type:Object,required:!0},isRequestReserve:{type:Boolean,default:!1},shouldShowCourseImageModal:{type:Boolean,required:!0}},computed:{isSelected(){return!!this.$route.query.course},changeCourseUrl(){return{name:"reserve-form",query:Object.keys(this.$route.query).filter(e=>e!=="course").reduce((e,t)=>({...e,[t]:this.$route.query[t]}),{})}},restaurant(){var s,e;return((e=(s=this.pageEntity)==null?void 0:s.entity)==null?void 0:e.restaurant)||null},shouldShowSeatOnlyCourse(){var s;return this.isSelected?String((s=this.seatOnlyCourse)==null?void 0:s.id)===String(this.$route.query.course):!!this.seatOnlyCourseUrl},seatOnlyCourse(){var s,e;return((e=(s=this.restaurant)==null?void 0:s.reservableCourses)==null?void 0:e.seatOnly)||null},seatOnlyCourseUrl(){return!this.seatOnlyCourse||!this.isRequestReserve&&this.seatOnlyCourse.reservationType==="REQUEST"?null:{name:"reserve-form",query:{...this.$route.query,course:this.seatOnlyCourse.id},hash:"#seat-select-scroll"}},convertedCourses(){if(!this.restaurant||!this.restaurant.reservableCourses)return[];const{normals:s}=this.restaurant.reservableCourses,e=this.isSelected?s.filter(t=>String(t==null?void 0:t.id)===String(this.$route.query.course)):s;return e?e.map(t=>{if(!t||!this.isRequestReserve&&t.reservationType==="REQUEST")return null;const a={name:"reserve-form",query:{...this.$route.query,course:t.id},hash:"#seat-select-scroll"},r={name:"reserve-form",query:{...this.$route.query,ui_should_show_course_detail:t.id}},i={name:"reserve-form",query:{...this.$route.query,ui_should_show_course_image:t.id}},u=R(t.timeFrame),{price:n,priceLocaleText:o,preDiscountedPriceLocaleText:_}=B(t.price,t.discountedPrice);return{id:t.id,title:t.title,image:(t==null?void 0:t.imageUrl)||"",price:n,priceLocaleText:o,preDiscountedPriceLocaleText:_,isAllYouCanDrink:t.isAllYouCanDrink,isAllYouCanEat:t.isAllYouCanEat,taxText:x(t.taxType,{before:"(",after:")"}),timeFrameText:u,shouldShowLabel:u.length>0||t.isAllYouCanDrink||t.isAllYouCanEat,urlQuery:a,detailQuery:r,imageQuery:i}}).sort((t,a)=>!t||!a?0:t.price-a.price).filter(Boolean):[]},freeCourses(){return this.makeCourseGroup(se,"")},paidCourses(){const s=this.makeCourseGroup(ae,"〜4,999円"),e=this.makeCourseGroup(re,"5,000円〜"),t=this.makeCourseGroup(ie,"10,000円〜");return[s,e,t]},clickCourseSelectActionType(){return l.CLICK_RESERVATION_COURSE_SELECT_PC},slidesBeforeIndexes(){return this.convertedCourses.filter(s=>(s==null?void 0:s.image)!=="").map(s=>({imageUrl:(s==null?void 0:s.image)||"",courseId:(s==null?void 0:s.id)||0}))},queryId(){const{query:s}=this.$route;return s&&typeof s=="object"?String((s==null?void 0:s.ui_should_show_course_image)||""):""},selectedImageIndex(){return this.slidesBeforeIndexes.findIndex(s=>this.queryId===s.courseId.toString())},selectedImage(){var s;return((s=this.slidesBeforeIndexes[this.selectedImageIndex])==null?void 0:s.imageUrl)||""},prevCourseId(){var s;return((s=this.slidesBeforeIndexes[this.selectedImageIndex-1])==null?void 0:s.courseId.toString())??""},nextCourseId(){var s;return((s=this.slidesBeforeIndexes[this.selectedImageIndex+1])==null?void 0:s.courseId.toString())??""}},methods:{makeCourseGroup(s,e){return{courses:this.convertedCourses.filter(a=>(a==null?void 0:a.price)===void 0?!1:s===se?(a==null?void 0:a.price)===0:s===ae?(a==null?void 0:a.price)>0&&(a==null?void 0:a.price)<5e3:s===re?(a==null?void 0:a.price)>=5e3&&(a==null?void 0:a.price)<1e4:s===ie?(a==null?void 0:a.price)>=1e4:!1),label:e}},selectPrevItem(){this.prevCourseId!==""&&this.$router.replace({path:this.$route.path,query:{...this.$route.query,ui_should_show_course_image:this.prevCourseId}})},selectNextItem(){this.nextCourseId!==""&&this.$router.replace({path:this.$route.path,query:{...this.$route.query,ui_should_show_course_image:this.nextCourseId}})},clearSelectedImage(){history.back()},onClickCourseSelect(){var s,e;h({type:"action",actionType:this.clickCourseSelectActionType,actionValue:(e=(s=this.restaurant)==null?void 0:s.reservableCourses.seatOnly)==null?void 0:e.id})}}});var vt=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("div",[t("header",{staticClass:"section-header"},[t("h2",{staticClass:"section-header__heading"},[e._v("コースを選択")]),t("anchor-link",{directives:[{name:"show",rawName:"v-show",value:e.isSelected,expression:"isSelected"}],staticClass:"section-header__back",class:{"section-header__back--disable":!e.isSelected},attrs:{to:e.changeCourseUrl}},[e._v("変更する")])],1),e.seatOnlyCourseUrl||e.convertedCourses.length>0?t("div",[e.seatOnlyCourseUrl||e.freeCourses.courses.length>0?t("div",{staticClass:"course-list"},[t("ul",[e.shouldShowSeatOnlyCourse?t("li",{staticClass:"seat-only-course course-item"},[e._m(0),t("anchor-link",{directives:[{name:"show",rawName:"v-show",value:!e.isSelected,expression:"!isSelected"}],staticClass:"course-item__button",attrs:{to:e.seatOnlyCourseUrl},nativeOn:{click:function(a){return e.onClickCourseSelect.apply(null,arguments)}}},[e._v("選択する")]),t("span",{directives:[{name:"show",rawName:"v-show",value:e.isSelected,expression:"isSelected"}],staticClass:"course-item__button course-item__button--selected"},[t("icon-selected",{staticClass:"course-item__button-icon",attrs:{color:"#d5d5d8"}}),e._v("選択済み")],1)],1):e._e(),e._l(e.freeCourses.courses,function(a){return t("li",{key:a.id,staticClass:"course-item"},[t("course-selector-card",{attrs:{course:a}})],1)})],2)]):e._e(),e._l(e.paidCourses,function(a){return t("div",{key:a.label,staticClass:"course-list"},[a.courses.length>0&&!e.isSelected?t("span",{staticClass:"course-list__label"},[e._v(e._s(a.label)+" ")]):e._e(),t("ul",e._l(a.courses,function(r){return t("li",{key:r.id,staticClass:"course-item"},[t("course-selector-card",{attrs:{course:r}})],1)}),0)])})],2):t("div",{staticClass:"empty-section"},[e.isSelected?t("p",{staticClass:"empty-section__description"},[e._v("現在こちらのコースは予約できません")]):e._e(),t("p",{staticClass:"empty-section__description"},[e._v("現在この条件でご予約可能なコースがありません")])]),t("course-image-modal",{attrs:{"course-image":e.selectedImage,"should-show-prev-button":e.prevCourseId!=="","should-show-next-button":e.nextCourseId!=="",show:e.shouldShowCourseImageModal},on:{prev:e.selectPrevItem,next:e.selectNextItem,close:e.clearSelectedImage}})],1)},Ct=[function(){var s=this,e=s._self._c;return s._self._setupProxy,e("div",{staticClass:"seat-only-course__name"},[s._v("コースを指定しない"),e("span",{staticClass:"seat-only-course__name-supplement"},[s._v("(席のみのご予約)")])])}],ft=v(pt,vt,Ct,!1,null,"eafd8fe2");const yt=ft.exports,gt=p.extend({components:{IconZoomIn:_e,CourseImageModal:pe,IconSelected:V,ClampedText:Le},props:{pageEntity:{type:Object,required:!0},isRequestReserve:{type:Boolean,default:!1},autoSelectId:{type:Number,default:0},isDisplayed:{type:Boolean,default:!1}},data(){return{selectedImageIndex:-1}},computed:{reservableSeats(){var s,e,t;return((t=(e=(s=this.pageEntity)==null?void 0:s.entity)==null?void 0:e.restaurant)==null?void 0:t.reservableSeats)||[]},isSelected(){return["string","number"].includes(typeof this.$route.query.seat)?!!String(this.$route.query.seat):!1},requestableSeatUrl(){return{name:"reserve-form",query:{seat:this.autoSelectId,...this.$route.query}}},shouldShowAutoSelectSeatItem(){return this.isSelected?String(this.$route.query.seat)==="0":this.filteredSeats.length>0},filteredSeats(){if(this.isRequestReserve)return[];const s=this.reservableSeats||[],e=this.isSelected?s.filter(a=>String(a==null?void 0:a.id)===String(this.$route.query.seat)):s,t=e?e.map(a=>{const{id:r,name:i,seatCharge:u,smoking:n,imageUrl:o,description:_}=a,c={name:"reserve-form",query:{...this.$route.query,seat:r}},m=n?n==="UNAVAILABLE":!1,C=n?n==="AVAILABLE":!1,E=n?n==="AVAILABLE_ONLY_HEATED_CIGARETTE":!1,{fee:f=0,rate:S=0,type:y}=u;return{id:r,name:i,seatType:a.type,imageUrl:o??"",description:_??"",urlQuery:c,shouldShowNotSmokingLabel:m,shouldShowSmokingLabel:C,shouldShowHeatedSmokingLabel:E,feeLocaleText:f&&f>0?f.toLocaleString():"",rate:S,chargeType:y}}):[];return this.filterSeats(t)},autoSelectUrlQuery(){return!this.reservableSeats||this.reservableSeats.length<0?{}:{name:"reserve-form",query:{...this.$route.query,seat:this.autoSelectId}}},changeSeatUrl(){return{name:"reserve-form",query:Object.keys(this.$route.query).filter(e=>e!=="seat").reduce((e,t)=>({...e,[t]:this.$route.query[t]}),{})}},clickSeatSelectActionType(){return l.CLICK_RESERVATION_SEAT_SELECT_PC},clickReserveFormSeatsPhoto(){return l.CLICK_RESERVE_FORM_SEATS_PHOTO_PC},slidesBeforeIndexes(){return this.filteredSeats.filter(s=>(s==null?void 0:s.imageUrl)!=="").map(s=>({imageUrl:(s==null?void 0:s.imageUrl)||"",seatId:(s==null?void 0:s.id)||0}))},seatIdSlidesIndex(){const s=new Map;return this.slidesBeforeIndexes.forEach((e,t)=>{s.set(e==null?void 0:e.seatId,t)}),s},selectedImage(){var s;return((s=this.slidesBeforeIndexes[this.selectedImageIndex])==null?void 0:s.imageUrl)||""},prevItemExists(){return this.slidesBeforeIndexes[this.selectedImageIndex-1]!==void 0},nextItemExists(){return this.slidesBeforeIndexes[this.selectedImageIndex+1]!==void 0}},methods:{filterSeats(s){return s.filter((e,t,a)=>a.findIndex(r=>{const i=r.name===e.name,u=r.shouldShowSmokingLabel===e.shouldShowSmokingLabel,n=r.shouldShowNotSmokingLabel===e.shouldShowNotSmokingLabel,o=r.shouldShowHeatedSmokingLabel===e.shouldShowHeatedSmokingLabel,_=r.rate===e.rate&&r.feeLocaleText===e.feeLocaleText&&r.chargeType===e.chargeType,c=r.imageUrl===e.imageUrl;return i&&u&&n&&o&&_&&c})===t)},openImageModal(s){const e=this.seatIdSlidesIndex.get(s);h({type:"action",actionType:this.clickReserveFormSeatsPhoto,actionValue:s}),e!==void 0&&this.openModal(e)},openModal(s){this.selectedImageIndex=s},selectPrevItem(){this.prevItemExists&&(this.selectedImageIndex-=1)},selectNextItem(){this.nextItemExists&&(this.selectedImageIndex+=1)},clearSelectedImage(){this.selectedImageIndex=-1},getSeatTypeName(s){return s===void 0?"":q[s]??""},onClickSeat(s){h({type:"action",actionType:this.clickSeatSelectActionType,actionValue:s})}}});var Et=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("div",[t("header",{staticClass:"section-header"},[t("h2",{staticClass:"section-header__heading"},[e._v("席を選択")]),t("anchor-link",{staticClass:"section-header__back",class:{"section-header__back--disable":!e.isSelected},attrs:{to:e.changeSeatUrl}},[e._v("変更する")])],1),e.isRequestReserve?t("div",[t("ul",[t("li",{staticClass:"seat-item"},[e._m(0),t("anchor-link",{directives:[{name:"show",rawName:"v-show",value:!e.isSelected,expression:"!isSelected"}],staticClass:"seat-item__button",attrs:{to:e.requestableSeatUrl}},[e._v("選択する")]),t("span",{directives:[{name:"show",rawName:"v-show",value:e.isSelected,expression:"isSelected"}],staticClass:"seat-item__button seat-item__button--selected"},[t("icon-selected",{staticClass:"seat-item__button-icon",attrs:{color:"#d5d5d8"}}),e._v("選択済み")],1)],1)])]):e.isRequestReserve?t("div",{staticClass:"empty-section"},[t("p",{staticClass:"empty-section__description"},[e._v("現在この条件でご予約可能な座席がありません")])]):t("div",[t("div",{directives:[{name:"show",rawName:"v-show",value:e.filteredSeats.length>0,expression:"filteredSeats.length > 0"}]},[t("ul",[e.shouldShowAutoSelectSeatItem?t("li",{staticClass:"seat-item"},[e._m(1),t("anchor-link",{directives:[{name:"show",rawName:"v-show",value:!e.isSelected,expression:"!isSelected"}],staticClass:"seat-item__button",attrs:{to:e.autoSelectUrlQuery},nativeOn:{click:function(a){return e.onClickSeat(e.autoSelectId)}}},[e._v("選択する")]),t("span",{directives:[{name:"show",rawName:"v-show",value:e.isSelected,expression:"isSelected"}],staticClass:"seat-item__button seat-item__button--selected"},[t("icon-selected",{staticClass:"seat-item__button-icon",attrs:{color:"#d5d5d8"}}),e._v("選択済み")],1)],1):e._e(),e._l(e.filteredSeats,function(a){return t("li",{key:a.id,staticClass:"seat-item seat-item--with-image"},[t("div",{staticClass:"seat-item__wrap"},[t("div",{staticClass:"seat-item__image-wrap"},[a.imageUrl.length>0?t("x-img",{staticClass:"seat-item__image",attrs:{src:a.imageUrl,alt:"",width:160,height:160},nativeOn:{click:function(r){return e.openImageModal(a.id)}}}):t("img",{staticClass:"seat-item__image",attrs:{src:g,alt:"",width:"68",height:"68"}}),a.imageUrl?t("div",{staticClass:"seat-item__zoom-in"},[t("icon-zoom-in",{attrs:{width:22,height:22}})],1):e._e()],1),t("div",{staticClass:"seat-item__information-wrap"},[t("ul",{staticClass:"seat-item__label-list"},[e.getSeatTypeName(a.seatType).length>0?t("li",{staticClass:"seat-item__label"},[e._v(e._s(e.getSeatTypeName(a.seatType)))]):e._e(),a.shouldShowNotSmokingLabel?t("li",{staticClass:"seat-item__label"},[e._v("禁煙")]):e._e(),a.shouldShowSmokingLabel?t("li",{staticClass:"seat-item__label seat-item__label--enabled"},[e._v("喫煙可")]):e._e(),a.shouldShowHeatedSmokingLabel?t("li",{staticClass:"seat-item__label seat-item__label--enabled"},[e._v("喫煙可 "),t("span",{staticClass:"seat-item__label-limited"},[e._v("加熱式たばこ限定")])]):e._e()]),t("div",{staticClass:"seat-item__main-info"},[e._v(" "+e._s(a.name)+" "),a.chargeType==="NONE"?t("span",{staticClass:"seat-item__summary"},[e._v(" チャージ料金 なし ")]):e._e(),a.chargeType==="BY_TABLE"?t("span",{staticClass:"seat-item__summary"},[e._v(" チャージ料金 "+e._s(a.feeLocaleText)+"円(税込) ")]):e._e(),a.chargeType==="BY_PERSONS"?t("span",{staticClass:"seat-item__summary"},[e._v(" チャージ料金 "+e._s(a.feeLocaleText)+"円(税込)/人 ")]):e._e(),a.chargeType==="PERCENTAGE"?t("span",{staticClass:"seat-item__summary"},[e._v(" チャージ料金 "+e._s(a.rate)+"% ")]):e._e()]),a.description?t("div",{staticClass:"seat-item__description"},[t("clamped-text",{staticClass:"seat-item__description-body",attrs:{text:a.description,"line-count":2,shrinkable:!0,"expand-text":"もっとみる ▼","shrink-text":"閉じる ▲","is-displayed":e.isDisplayed}})],1):e._e()])]),t("anchor-link",{directives:[{name:"show",rawName:"v-show",value:!e.isSelected,expression:"!isSelected"}],staticClass:"seat-item__button",attrs:{to:a.urlQuery},nativeOn:{click:function(r){return e.onClickSeat(a.id)}}},[e._v("選択する")]),t("span",{directives:[{name:"show",rawName:"v-show",value:e.isSelected,expression:"isSelected"}],staticClass:"seat-item__button seat-item__button--selected"},[t("icon-selected",{staticClass:"seat-item__button-icon",attrs:{color:"#d5d5d8"}}),e._v("選択済み")],1)],1)})],2)])]),t("course-image-modal",{attrs:{"course-image":e.selectedImage,"should-show-prev-button":e.prevItemExists,"should-show-next-button":e.nextItemExists,show:e.selectedImage!==""},on:{prev:e.selectPrevItem,next:e.selectNextItem,close:e.clearSelectedImage}})],1)},St=[function(){var s=this,e=s._self._c;return s._self._setupProxy,e("div",{staticClass:"seat-item__name"},[s._v(" 席おまかせ "),e("div",{staticClass:"seat-item__name-supplement seat-item__name-supplement--request"},[s._v("リクエスト予約のため席の指定はできません")])])},function(){var s=this,e=s._self._c;return s._self._setupProxy,e("div",{staticClass:"seat-item__name"},[s._v(" 席を指定しない "),e("span",{staticClass:"seat-item__name-supplement"},[s._v("(こだわらない)")])])}],bt=v(gt,Et,St,!1,null,"8589c364");const At=bt.exports,Ft=p.extend({});var Dt=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("ul",{staticClass:"attentions"},[t("li",{staticClass:"attentions__item"},[e._v("PayPay未連携の方は、予約完了画面から連携できます")]),t("li",{staticClass:"attentions__item"},[e._v("PayPayポイントの付与額は、ご予約の条件によって変動する場合があります。"),t("anchor-link",{staticClass:"attentions__link",attrs:{to:"/announce/paypay-bonus/",target:"_blank"}},[e._v("詳しくはこちら")]),e._v("をご覧ください")],1),t("li",{staticClass:"attentions__item"},[e._v("Rettyで獲得できるPayPayポイントの上限は、1ヶ月あたり3,000円相当です")]),t("li",{staticClass:"attentions__item"},[e._v("PayPayポイントは出金・譲渡はできません。PayPay公式ストアでも利用可能です")])])},It=[],Tt=v(Ft,Dt,It,!1,null,"3ba99780");const wt=Tt.exports,xt=p.extend({components:{IconPaypay:me,IconExclamationMark:Ie,ReservationPaypayAttentions:wt,PaypayAppOtokuBanner:he},props:{paypayAmount:{type:Number,default:0},isRequestReserve:{type:Boolean,default:!1},isLoggedIn:{type:Boolean,default:!1},reserveDate:{type:String,default:""},reserveTime:{type:String,default:""}},computed:{paypayAmountText(){return this.paypayAmount&&this.paypayAmount.toLocaleString()||""},canGetPaypayPoint(){return this.paypayAmountText.length>0&&!this.isRequestReserve},shouldShowPaypayNotice(){return!1},loginUrl(){const s=new URLSearchParams({returnUrl:this.$route.fullPath});return`${O()}/login/?${s.toString()}`},signUpUrl(){const s=new URLSearchParams({returnUrl:this.$route.fullPath});return`${O()}/login/signup/?${s.toString()}`},isShowPaypayAppOtoku(){return this.canGetPaypayPoint}}});var Bt=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("section",[t("div",{staticClass:"login-incentive"},[t("div",{staticClass:"paypay-section"},[t("div",{staticClass:"paypay-section__main"},[t("icon-paypay",{staticClass:"paypay-section__icon",attrs:{width:28,height:28}}),e.paypayAmount===0?t("p",{staticClass:"paypay-section__description"},[e._v("対象店舗ではないため、獲得PayPayポイントはありません")]):e.isRequestReserve?t("p",{staticClass:"paypay-section__description"},[e._v("リクエスト予約はPayPayポイント獲得の対象外です")]):e.canGetPaypayPoint&&e.isLoggedIn?t("p",{staticClass:"paypay-section__amount"},[e._v("ご来店でPayPayポイント"),t("em",{staticClass:"paypay-section__amount--highlight"},[t("em",{staticClass:"paypay-section__amount--large"},[e._v(e._s(e.paypayAmountText)+"円")]),e._v("相当")]),e._v("獲得できます")]):e.canGetPaypayPoint?t("p",{staticClass:"paypay-section__amount"},[e._v("ログインして予約&来店すると、PayPayポイント"),t("em",{staticClass:"paypay-section__amount--highlight"},[t("em",{staticClass:"paypay-section__amount--large"},[e._v(e._s(e.paypayAmountText)+"円")]),e._v("相当")]),e._v("獲得できます")]):e._e(),t("anchor-link",{staticClass:"paypay-bonus-link",attrs:{to:"/announce/paypay-bonus/",target:"_blank"}},[t("img",{staticClass:"paypay-bonus-link__icon",attrs:{src:Oe,alt:"",width:"13",height:"13"}})])],1),!e.isLoggedIn&&e.shouldShowPaypayNotice?t("p",{staticClass:"paypay-section__campaign-notice"},[e._v("※ キャンペーンの獲得予定ポイントは、こちらには反映されません")]):e._e(),!e.isLoggedIn&&e.canGetPaypayPoint?t("ul",{staticClass:"paypay-section__login login-buttons"},[t("li",{staticClass:"login-buttons__item"},[t("anchor-link",{staticClass:"login-buttons__button",attrs:{to:e.loginUrl}},[e._v("ログイン")])],1),t("li",{staticClass:"login-buttons__item"},[t("anchor-link",{staticClass:"login-buttons__button",attrs:{to:e.signUpUrl}},[e._v("会員登録")])],1)]):e._e()]),e.isLoggedIn?t("div",{staticClass:"paypay-annotation-section"},[e.shouldShowPaypayNotice?t("div",{staticClass:"paypay-campaign-annotation"},[t("icon-exclamation-mark",{staticClass:"paypay-campaign-annotation__exclamation-mark",attrs:{color:"#FF5714",height:"13",width:"13"}}),t("p",{staticClass:"paypay-campaign-annotation__message"},[e._v("こちらの店舗はキャンペーン対象です。キャンペーンの獲得予定ポイントは、こちらには反映されません。 付与をもってかえさせていただきます")])],1):e._e(),t("reservation-paypay-attentions",{staticClass:"paypay-annotation-section__attentions"})],1):e._e(),!e.isLoggedIn&&!e.canGetPaypayPoint?t("div",{staticClass:"autofill-contact-login-section"},[t("p",{staticClass:"autofill-contact-login-section__description"},[e._v("ログインすると予約者情報を省略できます")]),t("ul",{staticClass:"autofill-contact-login-section__buttons login-buttons"},[t("li",{staticClass:"login-buttons__item"},[t("anchor-link",{staticClass:"login-buttons__button",attrs:{to:e.loginUrl}},[e._v("ログイン")])],1),t("li",{staticClass:"login-buttons__item"},[t("anchor-link",{staticClass:"login-buttons__button",attrs:{to:e.signUpUrl}},[e._v("会員登録")])],1)])]):e._e()]),e.isShowPaypayAppOtoku?t("paypay-app-otoku-banner",{staticClass:"paypay-app-otoku-wrapper",attrs:{"is-yuzu-color":!0,"wide-banner":!0}}):e._e()],1)},Rt=[],Pt=v(xt,Bt,Rt,!1,null,"7b09c69f");const kt=Pt.exports,Nt=p.extend({props:{isSelectSeatOnlyCourse:{type:Boolean,default:!1},course:{type:Object,required:!0}},computed:{clickCourseDetailActionType(){return l.CLICK_RESERVATION_COURSE_DETAIL_PC}},methods:{sendClickCourseDetailLog(){var s;h({type:"action",actionType:this.clickCourseDetailActionType,actionValue:(s=this.course)==null?void 0:s.id})}}});var Ot=function(){var e=this,t=e._self._c;return e._self._setupProxy,e.isSelectSeatOnlyCourse?t("div",{staticClass:"seat-only-course"},[e._m(0)]):!e.isSelectSeatOnlyCourse&&e.course?t("div",{staticClass:"selected-course"},[e.course.image?t("x-img",{staticClass:"selected-course__image",attrs:{src:e.course.image,alt:"",width:160,height:160}}):t("img",{staticClass:"selected-course__image",attrs:{src:g,alt:"",width:"68",height:"68"}}),t("div",{staticClass:"selected-course__information"},[e.course.shouldShowLabel?t("ul",{staticClass:"course-labels"},[e.course.timeFrameText.length>0?t("li",{staticClass:"course-labels__item"},[e._v(e._s(e.course.timeFrameText))]):e._e(),e.course.isAllYouCanDrink?t("li",{staticClass:"course-labels__item course-labels__item--option"},[e._v("飲み放題")]):e._e(),e.course.isAllYouCanEat?t("li",{staticClass:"course-labels__item course-labels__item--option"},[e._v("食べ放題")]):e._e()]):e._e(),t("div",{staticClass:"selected-course__name"},[e._v(e._s(e.course.title))]),t("div",{staticClass:"selected-course__footer"},[e.course.priceLocaleText?t("div",{staticClass:"selected-course__price-area"},[e.course.preDiscountedPriceLocaleText.length>0?t("div",{staticClass:"selected-course__pre-discounted-price"},[e._v(e._s(e.course.preDiscountedPriceLocaleText)+"円")]):e._e(),t("div",{staticClass:"selected-course__price"},[e._v(e._s(e.course.priceLocaleText)+"円"),e.course.taxText?t("span",{staticClass:"selected-course__tax"},[e._v(e._s(e.course.taxText))]):e._e()])]):e._e(),t("anchor-link",{staticClass:"selected-course__to-detail",attrs:{to:e.course.detailQuery},nativeOn:{click:function(a){return e.sendClickCourseDetailLog.apply(null,arguments)}}},[e._v("メニューをみる")])],1)])],1):e._e()},Lt=[function(){var s=this,e=s._self._c;return s._self._setupProxy,e("div",{staticClass:"seat-only-course__name"},[s._v("コースを指定しない"),e("span",{staticClass:"seat-only-course__name-supplement"},[s._v("(席のみのご予約)")])])}],$t=v(Nt,Ot,Lt,!1,null,"c58140bf");const qt=$t.exports,Vt=p.extend({props:{seat:{type:Object,required:!0},isRequestReserve:{type:Boolean,default:!1},isAutoSelectSeat:{type:Boolean,default:!1}},methods:{getSeatTypeName(s){return s===void 0?"":q[s]??""}}});var Mt=function(){var e=this,t=e._self._c;return e._self._setupProxy,e.isRequestReserve?t("div",{staticClass:"selected-seat"},[e._m(0)]):e.isAutoSelectSeat?t("div",{staticClass:"selected-seat"},[e._m(1)]):e.seat?t("div",{staticClass:"selected-seat"},[e.seat.imageUrl.length>0?t("x-img",{staticClass:"selected-seat__image",attrs:{src:e.seat.imageUrl,alt:"",width:168,height:168}}):t("img",{staticClass:"selected-seat__image",attrs:{src:g,alt:"",width:"56",height:"56"}}),t("div",{staticClass:"selected-seat__information_wrap"},[t("ul",{staticClass:"selected-seat__label-list"},[e.getSeatTypeName(e.seat.seatType).length>0?t("li",{staticClass:"selected-seat__label"},[e._v(e._s(e.getSeatTypeName(e.seat.seatType)))]):e._e(),e.seat.shouldShowNotSmokingLabel?t("li",{staticClass:"selected-seat__label"},[e._v("禁煙")]):e._e(),e.seat.shouldShowSmokingLabel?t("li",{staticClass:"selected-seat__label selected-seat__label--enabled"},[e._v("喫煙可")]):e._e(),e.seat.shouldShowHeatedSmokingLabel?t("li",{staticClass:"selected-seat__label selected-seat__label--enabled"},[e._v("喫煙可"),t("span",{staticClass:"selected-seat__label-limited"},[e._v("加熱式たばこ限定")])]):e._e()]),t("div",{staticClass:"selected-seat__main-info"},[e._v(" "+e._s(e.seat.name)+" "),e.seat.chargeType==="NONE"?t("span",{staticClass:"selected-seat__summary"},[e._v(" チャージ料金 なし ")]):e._e(),e.seat.chargeType==="BY_TABLE"?t("span",{staticClass:"selected-seat__summary"},[e._v(" チャージ料金 "+e._s(e.seat.feeLocaleText)+"円(税込) ")]):e._e(),e.seat.chargeType==="BY_PERSONS"?t("span",{staticClass:"selected-seat__summary"},[e._v(" チャージ料金 "+e._s(e.seat.feeLocaleText)+"円(税込)/人 ")]):e._e(),e.seat.chargeType==="PERCENTAGE"?t("span",{staticClass:"selected-seat__summary"},[e._v(" チャージ料金 "+e._s(e.seat.rate)+"% ")]):e._e()])])],1):e._e()},Ut=[function(){var s=this,e=s._self._c;return s._self._setupProxy,e("div",{staticClass:"selected-seat__name"},[s._v(" 席おまかせ "),e("div",{staticClass:"selected-seat__name-supplement selected-seat__name-supplement--request"},[s._v("リクエスト予約のため席の指定はできません")])])},function(){var s=this,e=s._self._c;return s._self._setupProxy,e("div",{staticClass:"selected-seat__name"},[s._v(" 席を指定しない "),e("span",{staticClass:"selected-seat__name-supplement"},[s._v("(こだわらない)")])])}],Gt=v(Vt,Mt,Ut,!1,null,"9ba3ac70");const Ht=Gt.exports,Yt=/^[0-9]{11}$/,Qt=/^[a-zA-Zァ-ヶー\x20\u3000]*$/,zt=/^(([a-zA-Z0-9!#$%&'*+\-/=?^`_{|}~.])+|"([a-zA-Z0-9!#$%&'*+\-/=?^`_{|}~.\s()<>[\]:;@,])+")@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,ue=/[!-~]/g,ne=/[\u3041-\u3096]/g,k="入力してください",N="ReservationFormInputValues",jt=11,Wt=128,Xt=p.extend({components:{CourseInformation:qt,SeatInformation:Ht,IconValid:Te,PaypaySection:kt},props:{pageEntity:{type:Object,required:!0},isRequestReserve:{type:Boolean,default:!1},paypayAmount:{type:Number,default:0},shouldDisableReservation:{type:Boolean,default:!1}},data(){return{formValues:{email:"",name:"",tel:"",optionalMessage:"",answer1:"",answer2:"",answer3:""},validationMessages:{email:null,tel:null,name:null},focusingInput:null,isProcessing:this.shouldDisableReservation}},computed:{reserveDate(){const{reserveDate:s}=this.$route.query;return s?String(s):""},reserveTime(){const{reserveTime:s}=this.$route.query;return s?String(s):""},reserveNumberOfCustomers(){const{numberOfCustomers:s}=this.$route.query;return Number(s)},reserveCourseId(){const s=this.$route.query.course;return Number(s)},reserveSeatId(){const s=this.$route.query.seat;return Number(s)},reserveDatetimeText(){return!this.reserveDate&&!this.reserveTime?"":Se(this.reserveDate,this.reserveTime)},reserveNumberOfCustomersText(){return String(this.reserveNumberOfCustomers)},restaurant(){var s,e;return((e=(s=this.pageEntity)==null?void 0:s.entity)==null?void 0:e.restaurant)||null},restaurantName(){var s;return((s=this.restaurant)==null?void 0:s.name)||""},reservableCourses(){var s;return((s=this.restaurant)==null?void 0:s.reservableCourses)||null},reservationNote(){var s;return((s=this.restaurant)==null?void 0:s.reservationNote)||null},targetCourse(){var n;const s=this.$route.query.course,t=[...((n=this.reservableCourses)==null?void 0:n.normals)||[]].find(o=>Number(s)===(o==null?void 0:o.id));if(!t)return null;const a=B(t.price||0,t.discountedPrice),r=R(t.timeFrame),u={name:"reserve-form",query:{...Object.fromEntries(Object.entries(this.$route.query).filter(([o,_])=>o!=="course")),ui_should_show_course_detail:t.id}};return{type:"normal",id:t.id,title:t.title,image:(t==null?void 0:t.imageUrl)||"",isAllYouCanDrink:t.isAllYouCanDrink,isAllYouCanEat:t.isAllYouCanEat,timeFrameText:r,taxText:x(t.taxType,{before:"(",after:")"}),priceLocaleText:a.priceLocaleText,preDiscountedPriceLocaleText:a.preDiscountedPriceLocaleText,shouldShowLabel:r.length>0||t.isAllYouCanDrink||t.isAllYouCanEat,detailQuery:u}},isSelectSeatOnlyCourse(){const s=this.$route.query.course,{seatOnly:e={}}=this.reservableCourses||{seatOnly:null},t=(e==null?void 0:e.id)||null;return Number(t)===Number(s)},isAutoSelectSeat(){return String(this.$route.query.seat)==="0"&&!this.isRequestReserve},shouldShowEnglishAnnotation(){return!(navigator?navigator.language.toLowerCase():"").includes("ja")},targetSeat(){var _,c,m;const s=this.$route.query.seat,t=[...((m=(c=(_=this.pageEntity)==null?void 0:_.entity)==null?void 0:c.restaurant)==null?void 0:m.reservableSeats)||[]].find(C=>Number(s)===(C==null?void 0:C.id));if(!t)return null;const a=t.smoking?t.smoking==="UNAVAILABLE":!1,r=t.smoking?t.smoking==="AVAILABLE":!1,i=t.smoking?t.smoking==="AVAILABLE_ONLY_HEATED_CIGARETTE":!1,{fee:u=0,rate:n=0,type:o}=t.seatCharge;return{id:t.id,name:t.name,seatType:t.type,imageUrl:t.imageUrl??"",shouldShowNotSmokingLabel:a,shouldShowSmokingLabel:r,shouldShowHeatedSmokingLabel:i,feeLocaleText:u&&u>0?u.toLocaleString():"",rate:n,chargeType:o}},toCourseSelectorUrl(){return{name:"reserve-form",query:this.isRequestReserve?this.removeQueryRouterParams(["course"]):this.removeQueryRouterParams(["course","seat","seatIds"]),hash:"#course-select"}},toCourseDetailUrl(){var a;const s=this.removeQueryRouterParams(["course"]);return{name:"reserve-form",query:{ui_should_show_course_detail:(((a=this.reservableCourses)==null?void 0:a.normals)||[]).some(r=>this.reserveCourseId===(r==null?void 0:r.id))?this.reserveCourseId:void 0,...s}}},toSeatSelectorUrl(){return{name:"reserve-form",query:this.removeQueryRouterParams(["seat","seatIds"]),hash:"#seat-select"}},reservationContactDetails(){var s,e,t;return((t=(e=(s=this.pageEntity)==null?void 0:s.entity)==null?void 0:e.currentUser)==null?void 0:t.reservationContactDetails)||null},isLoggedIn(){return this.$store.getters["session/isLogin"]},questions(){var s;return((s=this==null?void 0:this.reservationNote)==null?void 0:s.questions)||null},clickLastNameActionType(){return l.CLICK_RESERVATION_LAST_NAME_PC},clickPhoneNumberActionType(){return l.CLICK_RESERVATION_PHONE_NUMBER_PC},clickMailActionType(){return l.CLICK_RESERVATION_MAIL_PC},shouldShowReservationNote(){return this.reservationNote?!!this.reservationNote.caution||!!this.reservationNote.cancelPolicy:!1},nameMaxLength(){return Wt},telMaxLength(){return jt+2},emailValidated(){return!this.validationMessages.email&&this.formValues.email.length>0&&this.focusingInput!=="email"},emailClasses(){return{"form-row__input--invalid":this.validationMessages.email,"form-row__input--validated":this.emailValidated}},nameValidated(){return!this.validationMessages.name&&this.formValues.name.length>0&&this.focusingInput!=="name"},nameClasses(){return{"form-row__input--invalid":this.validationMessages.name,"form-row__input--validated":this.nameValidated}},telValidated(){return!this.validationMessages.tel&&this.formValues.tel.length>0&&this.focusingInput!=="tel"},telClasses(){return{"form-row__input--invalid":this.validationMessages.tel,"form-row__input--validated":this.telValidated}},campaignMobileApplicationUrl(){return le}},watch:{formValues:{handler(){this.storeFormValuesToSessionStorage()},deep:!0},shouldDisableReservation(){this.isProcessing=this.shouldDisableReservation}},mounted(){const s=sessionStorage.getItem(N)||"{}",e=JSON.parse(s);this.isFormValues(e)&&(this.formValues=e);const{email:t="",name:a="",phoneNumber:r=""}=this.reservationContactDetails||{};t.length>0&&(this.formValues.email=t),a.length>0&&(this.formValues.name=a),r.length>0&&(this.formValues.tel=r)},methods:{toBack(){this.$router.go(-1),h({type:"action",actionType:l.CLICK_RESERVATION_BACK_BUTTON})},storeFormValuesToSessionStorage(){const s=JSON.stringify(this.formValues);sessionStorage.setItem(N,s)},removeQueryRouterParams(s){return Object.keys(this.$route.query).filter(e=>!s.includes(e)).reduce((e,t)=>({...e,[t]:this.$route.query[t]}),{})},onSubmit(s){var y,A,F,d;if(this.isProcessing=!0,s.preventDefault(),!this.isFormValid()){this.scrollToInvalidInput(),this.isProcessing=!1;return}sessionStorage.removeItem(N);const{reserveDate:e,reserveTime:t,numberOfCustomers:a,course:r,seat:i}=this.$route.query,{restaurantId:u}=this.$route.params,n=((F=(A=(y=this.pageEntity)==null?void 0:y.entity)==null?void 0:A.restaurant)==null?void 0:F.reservableSeats)||[],o=!this.isRequestReserve&&String(i)==="0"?(d=n[0])==null?void 0:d.id:i,_=new Date(`${e}`),c=t?String(t):"",m=w(_),C=L(c);if(C===null){this.isProcessing=!1,this.$router.push({name:"reserve-complete",params:{restaurantId:this.$route.params.restaurantId,errorMessage:"予約に失敗しました"}});return}const E={date:m,time:C,partySize:Number(a),courseId:r,seatId:o},f={email:this.formValues.email,name:this.formValues.name,phoneNumber:this.formValues.tel},S={answer1:this.formValues.answer1,answer2:this.formValues.answer2,answer3:this.formValues.answer3};this.$emit("mutate-form",{restaurantId:u,stock:E,contactDetails:f,answers:S})},validateInput(s){if(this.focusingInput=null,this.autoReplaceValue(s),this.validationMessages[s]=null,s==="email"){if(this.checkValueMissing(this.formValues[s])){this.validationMessages[s]=k,this.sendInViewLog(l.INVIEW_RESERVE_CONFIRMATION_FORM_MAIL_INPUT_NO_INPUT_ERROR);return}if(!this.formValues[s].match(zt)){this.validationMessages[s]="正しく入力してください",this.sendInViewLog(l.INVIEW_RESERVE_CONFIRMATION_FORM_MAIL_INPUT_TYPING_ERROR);return}this.emailValidated&&this.sendInViewLog(l.INVIEW_RESERVE_CONFIRMATION_FORM_MAIL_INPUT_COMPLETED)}else if(s==="name"){if(this.checkValueMissing(this.formValues[s])){this.validationMessages[s]=k,this.sendInViewLog(l.INVIEW_RESERVE_CONFIRMATION_FORM_NAME_INPUT_NO_INPUT_ERROR);return}if(!this.formValues[s].match(Qt)){this.validationMessages[s]="カタカナまたはアルファベットのいずれかを入力してください",this.sendInViewLog(l.INVIEW_RESERVE_CONFIRMATION_FORM_NAME_INPUT_TYPING_ERROR);return}this.nameValidated&&this.sendInViewLog(l.INVIEW_RESERVE_CONFIRMATION_FORM_NAME_INPUT_COMPLETED)}else if(s==="tel"){if(this.checkValueMissing(this.formValues[s])){this.validationMessages[s]=k,this.sendInViewLog(l.INVIEW_RESERVE_CONFIRMATION_FORM_TEL_INPUT_NO_INPUT_ERROR);return}if(!this.formValues[s].match(Yt)){this.validationMessages[s]="ハイフン無しで11桁の半角数字を入力してください",this.sendInViewLog(l.INVIEW_RESERVE_CONFIRMATION_FORM_TEL_INPUT_TYPING_ERROR);return}this.telValidated&&this.sendInViewLog(l.INVIEW_RESERVE_CONFIRMATION_FORM_TEL_INPUT_COMPLETED)}},focusInput(s){this.focusingInput=s},autoReplaceValue(s){s==="tel"&&this.formValues[s].match("-")&&(this.formValues[s]=this.formValues[s].replaceAll("-","")),["email","tel"].includes(s)&&this.formValues[s].match(ue)&&(this.formValues[s]=this.formValues[s].replace(ue,e=>String.fromCharCode(e.charCodeAt(0)-65248))),s==="name"&&this.formValues[s].match(ne)&&(this.formValues[s]=this.formValues[s].replace(ne,e=>String.fromCharCode(e.charCodeAt(0)+96)))},checkValueMissing(s){return s.trim().length===0},scrollToInvalidInput(){if(this.validationMessages.email&&this.$refs["email-input-label"]instanceof Element){window.scrollBy({top:this.$refs["email-input-label"].getBoundingClientRect().top-200,behavior:"smooth"});return}if(this.validationMessages.name&&this.$refs["name-input-label"]instanceof Element){window.scrollBy({top:this.$refs["name-input-label"].getBoundingClientRect().top-200,behavior:"smooth"});return}this.validationMessages.tel&&this.$refs["tel-input-label"]instanceof Element&&window.scrollBy({top:this.$refs["tel-input-label"].getBoundingClientRect().top-200,behavior:"smooth"})},isFormValid(){return this.validateInput("name"),this.validateInput("tel"),this.validateInput("email"),!this.validationMessages.name&&!this.validationMessages.tel&&!this.validationMessages.email},isFormValues(s){return!!s&&typeof s=="object"&&s!==null&&"email"in s&&"name"in s&&"tel"in s&&"optionalMessage"in s&&"answer1"in s&&"answer2"in s&&"answer3"in s},sendInViewLog(s){h({type:"action",actionType:s})},onClickName(){h({type:"action",actionType:this.clickLastNameActionType})},onClickMail(){h({type:"action",actionType:this.clickMailActionType})},onClickTel(){h({type:"action",actionType:this.clickPhoneNumberActionType})}}});var Jt=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("div",[t("header",{staticClass:"section-header"},[t("div",{staticClass:"section-header__back-area"},[t("button",{staticClass:"section-header__back",on:{click:e.toBack}},[e._v("戻る")])]),t("h2",{staticClass:"section-header__heading"},[e._v("ご予約内容の確認")])]),t("form",{attrs:{novalidate:""},on:{submit:e.onSubmit}},[t("div",{staticClass:"reserve-summary-section reserve-summary-section--top reservation-summary"},[t("div",{staticClass:"reservation-summary__restaurant-name",attrs:{translate:"no","data-stt-ignore":""}},[e._v(e._s(e.restaurantName))]),e.isRequestReserve?t("div",{staticClass:"reservation-summary__notice"},[e._m(0),t("p",{staticClass:"reservation-summary__text"},[e._v("お店からの返信をもって予約確定となります")])]):e._e(),t("dl",{staticClass:"reservation-info reservation-summary__reservation-info"},[t("dt",{staticClass:"reservation-info__item reservation-info__item--title"},[e._v("日時")]),t("dd",{staticClass:"reservation-info__item reservation-info__item--text",attrs:{translate:"no","data-stt-ignore":""}},[e._v(e._s(e.reserveDatetimeText)+"〜")]),t("dt",{staticClass:"reservation-info__item reservation-info__item--title"},[e._v("人数")]),t("dd",{staticClass:"reservation-info__item reservation-info__item--text",attrs:{translate:"no","data-stt-ignore":""}},[e._v(e._s(e.reserveNumberOfCustomersText)+"名")]),t("dt",{staticClass:"reservation-info__item reservation-info__item--title"},[e._v("コース")]),t("dd",{staticClass:"reservation-info__item reservation-info__item--large"},[t("course-information",{attrs:{course:e.targetCourse,"is-select-seat-only-course":e.isSelectSeatOnlyCourse}}),t("anchor-link",{staticClass:"reservation-info__button",attrs:{to:e.toCourseSelectorUrl}},[e._v("変更")])],1),t("dt",{staticClass:"reservation-info__item reservation-info__item--title"},[e._v("席")]),t("dd",{staticClass:"reservation-info__item reservation-info__item--large"},[t("seat-information",{attrs:{seat:e.targetSeat,"is-request-reserve":e.isRequestReserve,"is-auto-select-seat":e.isAutoSelectSeat}}),e.isRequestReserve?e._e():t("anchor-link",{staticClass:"reservation-info__button",attrs:{to:e.toSeatSelectorUrl}},[e._v("変更")])],1)])]),t("paypay-section",{staticClass:"paypay-section-wrapper",attrs:{"paypay-amount":e.paypayAmount,"is-request-reserve":e.isRequestReserve,"is-logged-in":e.isLoggedIn,"reserve-date":e.reserveDate,"reserve-time":e.reserveTime}}),t("section",{staticClass:"personal-section"},[e.isLoggedIn?e._e():t("h3",{staticClass:"personal-section__unregistered-guide"},[e._v("会員登録せずに予約する方はこちら")]),t("div",{staticClass:"personal-section__wrapper"},[t("h4",{staticClass:"personal-section__title"},[e._v("予約者情報")]),t("dl",{staticClass:"form-row"},[t("dt",{staticClass:"form-row__title"},[t("label",{ref:"name-input-label",attrs:{for:"user_name"}},[e._v(" お名前(カタカナ)"),t("span",{staticClass:"form-row__status-label form-row__status-label--required"},[e._v("必須")])])]),t("dd",{staticClass:"form-row__content"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.formValues.name,expression:"formValues.name"}],staticClass:"form-row__input",class:e.nameClasses,attrs:{id:"user_name",placeholder:"例)レッティタロウ",type:"text",maxlength:e.nameMaxLength},domProps:{value:e.formValues.name},on:{blur:function(a){return e.validateInput("name")},focus:function(a){return e.focusInput("name")},click:e.onClickName,input:function(a){a.target.composing||e.$set(e.formValues,"name",a.target.value)}}}),t("icon-valid",{directives:[{name:"show",rawName:"v-show",value:e.nameValidated,expression:"nameValidated"}],staticClass:"form-row__valid-icon",attrs:{size:"24px"}})],1),t("div",{staticClass:"form-row__attentions-wrapper"},[e.shouldShowEnglishAnnotation?t("dd",{staticClass:"form-row__annotation"},[e._v("※ Please type your name Alphabetic, if you cannot input Japanese.")]):e._e()]),t("dd",{staticClass:"form-row__validation-message"},[t("p",[e._v(" "+e._s(e.validationMessages.name||"")+" ")])]),t("dt",{staticClass:"form-row__title"},[t("label",{ref:"tel-input-label",attrs:{for:"reserve_tel"}},[e._v(" 携帯番号(ハイフン無し)"),t("span",{staticClass:"form-row__status-label form-row__status-label--required"},[e._v("必須")])])]),t("dd",{staticClass:"form-row__content"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.formValues.tel,expression:"formValues.tel"}],staticClass:"form-row__input",class:e.telClasses,attrs:{id:"reserve_tel",placeholder:"例)09099999999",type:"tel",maxlength:e.telMaxLength},domProps:{value:e.formValues.tel},on:{blur:function(a){return e.validateInput("tel")},focus:function(a){return e.focusInput("tel")},click:e.onClickTel,input:function(a){a.target.composing||e.$set(e.formValues,"tel",a.target.value)}}}),t("icon-valid",{directives:[{name:"show",rawName:"v-show",value:e.telValidated,expression:"telValidated"}],staticClass:"form-row__valid-icon",attrs:{size:"24px"}})],1),t("dd",{staticClass:"form-row__validation-message"},[t("p",[e._v(" "+e._s(e.validationMessages.tel||"")+" ")])]),t("dt",{staticClass:"form-row__title"},[t("label",{ref:"email-input-label",attrs:{for:"email"}},[e._v(" メールアドレス "),t("span",{staticClass:"form-row__status-label form-row__status-label--required"},[e._v("必須")])])]),t("dd",{staticClass:"form-row__content"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.formValues.email,expression:"formValues.email"}],staticClass:"form-row__input",class:e.emailClasses,attrs:{id:"email",type:"email",placeholder:"例)sample@retty.me"},domProps:{value:e.formValues.email},on:{blur:function(a){return e.validateInput("email")},focus:function(a){return e.focusInput("email")},click:e.onClickMail,input:function(a){a.target.composing||e.$set(e.formValues,"email",a.target.value)}}}),t("icon-valid",{directives:[{name:"show",rawName:"v-show",value:e.emailValidated,expression:"emailValidated"}],staticClass:"form-row__valid-icon",attrs:{size:"24px"}})],1),t("div",{staticClass:"form-row__attentions-wrapper"},[e.validationMessages.email?t("dd",{staticClass:"form-row__validation-message"},[t("p",[e._v(" "+e._s(e.validationMessages.email)+" ")])]):e._e(),e._m(1)]),e.questions&&e.questions.question1?[t("dt",{staticClass:"form-row__title"},[t("label",{attrs:{for:"question1"}},[e._v(" "+e._s(e.questions.question1)+" "),t("span",{staticClass:"form-row__status-label form-row__status-label--optional"},[e._v("任意")])])]),t("dd",{staticClass:"form-row__content"},[t("textarea",{directives:[{name:"model",rawName:"v-model",value:e.formValues.answer1,expression:"formValues.answer1"}],staticClass:"form-row__textarea",attrs:{id:"question1",rows:"3"},domProps:{value:e.formValues.answer1},on:{input:function(a){a.target.composing||e.$set(e.formValues,"answer1",a.target.value)}}})])]:e._e(),e.questions&&e.questions.question2?[t("dt",{staticClass:"form-row__title"},[t("label",{attrs:{for:"question2"}},[e._v(" "+e._s(e.questions.question2)+" "),t("span",{staticClass:"form-row__status-label form-row__status-label--optional"},[e._v("任意")])])]),t("dd",{staticClass:"form-row__content"},[t("textarea",{directives:[{name:"model",rawName:"v-model",value:e.formValues.answer2,expression:"formValues.answer2"}],staticClass:"form-row__textarea",attrs:{id:"question2",rows:"3"},domProps:{value:e.formValues.answer2},on:{input:function(a){a.target.composing||e.$set(e.formValues,"answer2",a.target.value)}}})])]:e._e(),e.questions&&e.questions.question3?[t("dt",{staticClass:"form-row__title"},[t("label",{attrs:{for:"question3"}},[e._v(" "+e._s(e.questions.question3)+" "),t("span",{staticClass:"form-row__status-label form-row__status-label--optional"},[e._v("任意")])])]),t("dd",{staticClass:"form-row__content"},[t("textarea",{directives:[{name:"model",rawName:"v-model",value:e.formValues.answer3,expression:"formValues.answer3"}],staticClass:"form-row__textarea",attrs:{id:"question3",rows:"3"},domProps:{value:e.formValues.answer3},on:{input:function(a){a.target.composing||e.$set(e.formValues,"answer3",a.target.value)}}})])]:e._e()],2)])]),e.shouldShowReservationNote?t("dl",{staticClass:"reservation-note-section"},[e.reservationNote&&e.reservationNote.caution?t("div",{staticClass:"reservation-note-section__subsection"},[t("dt",{staticClass:"reservation-note-section__title"},[e._v("お店からの注意事項")]),t("dd",{staticClass:"reservation-note-section__content"},[e._v(e._s(e.reservationNote.caution))])]):e._e(),e.reservationNote&&e.reservationNote.cancelPolicy?t("div",{staticClass:"reservation-note-section__subsection"},[t("dt",{staticClass:"reservation-note-section__title"},[e._v("キャンセルポリシー")]),t("dd",{staticClass:"reservation-note-section__content"},[e._v(e._s(e.reservationNote.cancelPolicy))])]):e._e()]):e._e(),t("section",{staticClass:"term-and-link-section"},[t("p",{staticClass:"term-and-link-section__text"},[e._v("予約時にご登録いただいた連絡先が無効な場合、お店の判断によりご予約が成立しない場合がございます。")]),t("p",{staticClass:"term-and-link-section__text"},[t("anchor-link",{staticClass:"term-and-link-section__link",attrs:{target:"_blank",to:"/announce/paypay-bonus-tos/"}},[e._v("PayPayポイント獲得に関する利用規約")]),e._v(" 、 "),t("anchor-link",{staticClass:"term-and-link-section__link",attrs:{target:"_blank",to:"/announce/tos/"}},[e._v("利用規約")]),e._v(" 、 "),t("anchor-link",{staticClass:"term-and-link-section__link",attrs:{target:"_blank",to:"/announce/privacy/"}},[e._v("プライバシーポリシー")]),e._v("をご確認ください。 ")],1)]),t("div",{staticClass:"submit-area"},[t("button",{staticClass:"submit-button",attrs:{disabled:e.isProcessing,type:"submit"}},[t("span",{staticClass:"submit-button__supper-text"},[e._v("規約・プライバシーポリシーに同意し、上記内容で")]),t("span",{staticClass:"submit-button__main-text"},[e._v("予約する")])])])],1)])},Zt=[function(){var s=this,e=s._self._c;return s._self._setupProxy,e("p",{staticClass:"reservation-summary__reserve-type-text"},[s._v("この予約は"),e("em",{staticClass:"reservation-summary__reserve-type"},[s._v("リクエスト予約")]),s._v("です")])},function(){var s=this,e=s._self._c;return s._self._setupProxy,e("dd",{staticClass:"attentions form-row__attentions"},[e("ul",{staticClass:"attentions__list"},[e("li",{staticClass:"attentions__items"},[s._v("※ メールアドレスの入力間違いにご注意ください")]),e("li",[s._v("※ 受信拒否設定等により、ご連絡メールが届かないことがございます")]),e("li",[s._v("※ reserve@retty.me からのメールを受信できるように設定をお願い致します")])])])}],Kt=v(Xt,Jt,Zt,!1,null,"ce735de9");const es=Kt.exports;var P={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"CreateReservePc"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"input"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ReserveInput"}}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"entity"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"reserve"},arguments:[{kind:"Argument",name:{kind:"Name",value:"input"},value:{kind:"Variable",name:{kind:"Name",value:"input"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"reservationId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"reservationHash"},arguments:[],directives:[]}]}}]}}]}}],loc:{start:0,end:148}};P.loc.source={body:`mutation CreateReservePc(
$input: ReserveInput!
) {
entity {
reserve(input: $input) {
reservationId
reservationHash
}
}
}
`,name:"GraphQL request",locationOffset:{line:1,column:1}};function T(s,e){if(s.kind==="FragmentSpread")e.add(s.name.value);else if(s.kind==="VariableDefinition"){var t=s.type;t.kind==="NamedType"&&e.add(t.name.value)}s.selectionSet&&s.selectionSet.selections.forEach(function(a){T(a,e)}),s.variableDefinitions&&s.variableDefinitions.forEach(function(a){T(a,e)}),s.definitions&&s.definitions.forEach(function(a){T(a,e)})}var $={};(function(){P.definitions.forEach(function(e){if(e.name){var t=new Set;T(e,t),$[e.name.value]=t}})})();function oe(s,e){for(var t=0;t