1import{_ as I,s as D}from"./CheckoutLayout.vue_vue_type_script_setup_true_lang-Z9cNAz-x.js";import{_ as C}from"./Area.vue_vue_type_script_setup_true_lang-d2Xp1mSd.js";import{d as R,u as M,c as p,b as v,o as h,f as E,e as m,g as T,F as k,m as $,j as A}from"./app-DZpqclOu.js";import{i as O,a as b,_ as P}from"./FormDeliveryMethod.vue_vue_type_script_setup_true_lang-jqOvVQ3N.js";import{_ as V,a as x}from"./ButtonAction.vue_vue_type_script_setup_true_lang-BZO-5R-S.js";import{_ as N}from"./DeliveryCard.vue_vue_type_script_setup_true_lang-Sdc0eqyx.js";import"./AtomText.vue_vue_type_script_setup_true_lang-DONtg3ZV.js";/* empty css */import"./FormReceiveAtStore.vue_vue_type_script_setup_true_lang-D9fNO1hi.js";import"./FieldSelect.vue_vue_type_script_setup_true_lang-F4biDM_F.js";import"./Errors.vue_vue_type_script_setup_true_lang-BTC12-29.js";import"./AtomLink.vue_vue_type_script_setup_true_lang-BJryGLHs.js";import"./AtomImage.vue_vue_type_script_setup_true_lang-AbH913J0.js";import"./Price.vue_vue_type_script_setup_true_lang-CGXiEwXa.js";import"./RadioTile.vue_vue_type_script_setup_true_lang-BDb8omm0.js";import"./AtomBadge.vue_vue_type_script_setup_true_lang-CpvWjYvz.js";const j={class:"space-y-16"},B={class:"sysCheckoutDeliveryMethodsCards space-y-8"},te=R({__name:"DeliveryMethods",props:{deliveries:{},packages:{},deliveryMethodSettings:{},formAreaDeliveryMethodSetting:{},layoutSetting:{},nextRoutes:{},checkoutProducts:{},priceSetting:{}},setup(S){const i=S,d=i.deliveries.map(s=>{const r=i.packages.filter(e=>e.deliveryId===s.deliveryId),t={};r.forEach(e=>{var a,l,c,n,f,u,_;t[e.packageId]={deliveryMethod:b(i.deliveryMethodSettings[e.packageId]??[],e.deliveryMethod),receiveStore:{storeId:((a=e.deliveryMethod)==null?void 0:a.type)==="RECEIVE_AT_STORE"&&e.deliveryMethod.store?Number(e.deliveryMethod.store.storeId):void 0,storeName:((l=e.deliveryMethod)==null?void 0:l.type)==="RECEIVE_AT_STORE"?(c=e.deliveryMethod.store)==null?void 0:c.storeName:void 0,receiveDate:((n=e.deliveryMethod)==null?void 0:n.type)==="RECEIVE_AT_STORE"?(f=e.deliveryMethod.receivePreferredDate)==null?void 0:f.value:void 0,receiveTime:((u=e.deliveryMethod)==null?void 0:u.type)==="RECEIVE_AT_STORE"?(_=e.deliveryMethod.receivePreferredTime)==null?void 0:_.value:void 0},homeDelivery:O(i.deliveryMethodSettings[e.packageId]??[],e.deliveryMethod)}});const o={};return r.forEach(e=>{o[e.packageId]=i.deliveryMethodSettings[e.packageId]??[]}),{deliveryId:s.deliveryId,delivery:s,form:M({deliveryMethods:t}),deliveryMethodSettings:o,packages:r}}),y=M({deliveryMethods:{}}),g=()=>{const s={};d.forEach(({form:r})=>{Object.entries(r.deliveryMethods).forEach(([t,o])=>{s[t]={deliveryMethod:o.deliveryMethod,receiveStore:o.receiveStore,homeDelivery:o.homeDelivery}})}),y.deliveryMethods=s,y.post(D("checkout.v2.deliveryMethods.save"),{onSuccess:()=>{d.forEach(r=>r.form.clearErrors())},onError:r=>{d.forEach(t=>t.form.clearErrors()),Object.entries(r).forEach(([t,o])=>{const e=t.match(/^deliveryMethods\.([^.]+)\.(.+)$/);if(e){const[,a,l]=e,c=d.find(n=>Object.keys(n.form.deliveryMethods).includes(a));c&&c.form.setError(`deliveryMethods.${a}.${l}`,o)}})}})};return(s,r)=>(h(),p(I,{setting:s.layoutSetting,"show-errors":"","main-class":"sysCheckoutDeliveryMethods"},{actions:v(()=>[m(V),m(x,{route:i.nextRoutes[0],onClick:g},null,8,["route"])]),default:v(()=>[E("div",j,[m(C,{areaSetting:i.formAreaDeliveryMethodSetting.areaSetting},{default:v(()=>[E("div",B,[(h(!0),T(k,null,$(A(d),(t,o)=>(h(),p(N,{index:o,"delivery-address":t.delivery.deliveryAddress||void 0},{default:v(()=>[m(P,{form:t.form,"delivery-method-settings":t.deliveryMethodSettings,packages:t.packages,"checkout-products":i.checkoutProducts,"price-setting":i.priceSetting},null,8,["form","delivery-method-settings","packages","checkout-products","price-setting"])]),_:2},1032,["index","delivery-address"]))),256))])]),_:1},8,["areaSetting"])])]),_:1},8,["setting"]))}});export{te as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.