import{aM as t,aN as e,cj as i,ck as l,aO as a,aP as s,aQ as o,cl as d,cm as u,d as p,cn as m,co as N,cp as A,cq as y}from"./index-E0AVXOTn.js";const f={phoneNumberIncludeSafeNumber:/^01[0|1|6|7|8|9]([0-9]{3,4})([0-9]{4})$|050[0-9]{1}([0-9]{3,4})([0-9]{4})$/},C={guestPassword:/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[!@#$%^&*()_+~])[A-Za-z\d!@#$%^&*()_+~]{8,12}$/,email:/^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/},T=t({receiverLastName:e().optional(),receiverJibunAddress:e(),defaultYn:i(["Y","N"]),receiverName:e().nonempty("받으시는 분을 입력해주세요."),addressType:i(["BOOK","RECENT","RECURRING_PAYMENT","RECURRING_PAYMENT_PRESENT"]),customsIdNumber:e().optional(),countryCd:i(l.options).nullable().optional(),receiverZipCd:e({error:"우편번호를 입력해주세요."}).nonempty("우편번호를 입력해주세요."),addressMemo:e().optional(),receiverDetailAddress:e().nonempty("상세 주소를 입력해주세요."),receiverCity:e().optional(),city:e().optional(),receiverMobileCountryCd:e().nullable().optional(),receiverAddress:e().nonempty("주소를 입력해주세요."),receiverState:e().optional(),addressName:e().nonempty("배송지명을 입력해주세요."),receiverFirstName:e().optional(),receiverContact1:t({prefix:e().nonempty("연락처를 입력해주세요."),middle:e().nonempty("연락처를 입력해주세요."),suffix:e().nonempty("연락처를 입력해주세요.")}),receiverContact2:e().optional()}).refine(r=>r.countryCd==="KR"?!0:!!r.receiverState,{message:"Receiver State is required",path:["receiverState"]}),g=t({receiverLastName:e().optional(),receiverJibunAddress:e().optional(),requestShippingDate:e().optional(),orderAdditionalInfo:e().optional(),usesShippingInfoLaterInput:a().optional(),receiverName:e().nonempty("받으시는 분을 입력해주세요."),customsIdNumber:e().optional(),countryCd:e().optional(),receiverZipCd:e().optional(),receiverDetailAddress:e().optional(),receiverCity:e().optional(),receiverMobileCountryCd:e().nullable().optional(),receiverAddress:e().optional(),addressNo:o(),receiverState:e().optional(),addressName:e().optional(),receiverFirstName:e().optional(),shippingInfoLaterInputContact:e().optional(),receiverContact1:e().optional(),receiverContact2:e().optional()}),h=g.superRefine((r,n)=>{if(r.usesShippingInfoLaterInput){r.shippingInfoLaterInputContact||n.addIssue({path:["shippingInfoLaterInputContact"],message:"연락처를 입력해주세요.",code:"custom"}),r.receiverName||n.addIssue({path:["receiverName"],message:"수령자명을 입력해주세요.",code:"custom"});return}r.receiverContact1||n.addIssue({path:["receiverContact1"],message:"연락처를 입력해주세요.",code:"custom"}),r.receiverZipCd||n.addIssue({path:["receiverZipCd"],message:"우편번호를 입력해주세요.",code:"custom"}),r.receiverAddress||n.addIssue({path:["receiverAddress"],message:"주소를 입력해주세요.",code:"custom"}),r.receiverDetailAddress||n.addIssue({path:["receiverDetailAddress"],message:"상세주소를 입력해주세요.",code:"custom"})}),R=t({extraData:u(e(),y()).optional(),customTermsAgrees:s(t({isAgree:a(),customTermsNo:o()})).optional(),orderMemo:e().optional(),appCardInfo:t({instType:i(["STANDARD","NO_INTEREST","STANDARD_5","NO_INTEREST_5","STANDARD_7","NO_INTEREST_7","STANDARD_10","NO_INTEREST_10"]),userNo:e().nullable().optional(),cardCode:e().optional(),installment:e().optional(),oneClickYn:i(["Y","N"]).optional(),acntId:e().optional()}).optional(),bankAccountToDeposit:t({bankAccount:e().optional(),bankCode:e().optional(),bankDepositorName:e().optional()}).optional(),payType:d,clientReturnUrl:e().optional(),coupons:t({productCoupons:s(t({couponIssueNo:o(),promotionCode:e().optional(),productNo:o()})).optional(),cartCouponIssueNo:o().optional(),promotionCode:e().optional(),channelType:e().optional()}).optional(),useDefaultAddress:a(),member:a(),inAppYn:i(["Y","N"]).optional(),applyCashReceipt:a().optional(),orderTitle:e().optional(),tempPassword:p()?e().nullable().optional():e().nonempty("임시 비밀번호를 입력해주세요.").regex(C.guestPassword,{message:"비회원 주문 조회시, 사용할 비밀번호를 영문/숫자/특수문자 조합하여 8-12자 이내로 입력해 주세요."}),saveAddressBook:a(),updateMember:a(),orderSheetNo:e(),pgType:i(A.options,{error:"PG사를 선택해주세요."}),remitter:e().optional(),freeGiftInfos:s(t({freeGifts:s(t({mallOptionNo:o(),mallProductNo:o()})),freeGiftConditionNo:o()})).optional(),availableAccumulationByOptions:s(t({mallOptionNo:o(),availableAccumulationRate:o().optional(),availableAccumulationAmt:o().optional()})).optional(),deliveryMemo:e().optional(),agreementTermsAgrees:s(t({isAgree:a(),termsType:N})).refine(r=>r.every(n=>n.isAgree),{message:"모든 약관에 동의해주세요."}),orderer:t({ordererEmail:m({error:r=>r.input&&r.code==="invalid_format"?"이메일 형식으로 입력해주세요.":"이메일을 입력해주세요."}),ordererContact1:e().nonempty("휴대폰번호를 입력해 주세요.").regex(f.phoneNumberIncludeSafeNumber,{message:"형식에 맞게 입력해 주세요."}),ordererContact2:e().optional().nullable(),ordererName:e().nonempty("주문자명을 입력해주세요."),ordererLastName:e().optional(),ordererFirstName:e().optional(),ordererMobileCountryCd:e().optional()}),paymentAmtForVerification:o().optional(),shippingAddress:h,savesLastPayType:a(),subPayAmt:o(),cashReceipt:t({cashReceiptKeyType:i(["CARD_NO","MOBILE_NO","BUSINESS_NO","VOLUNTARY_NO"],{error:r=>{if(!r.input)return"현금영수증 발급 키 타입을 선택해주세요."}}),cashReceiptKey:e().optional(),cashReceiptIssuePurposeType:i(["INCOME_TAX_DEDUCTION","PROOF_EXPENDITURE","VOLUNTARY"],{error:r=>{if(!r.input)return"현금영수증 발급 목적을 선택해주세요."}})}).optional(),shippingAddresses:s(t({payProductParams:s(t({rentalInfos:s(t({monthlyRentalAmount:o(),rentalPeriod:o()})).optional(),recurringPaymentDelivery:t({date:o().optional(),cycleType:i(["MONTH","WEEK"]).optional(),dayOfWeek:i(["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"]).optional(),cycle:o().optional()}),baseProductNo:o().optional(),recurringPaymentLastRound:o().optional(),orderCnt:o(),optionInputs:s(t({optionNo:o(),optionName:e(),optionPrice:o()})),productNo:o(),optionNo:o()})),requestShippingDate:e().optional(),addressNo:o().optional(),usesShippingInfoLaterInput:a().optional(),useDefaultAddress:a().optional(),shippingAddress:T.omit({receiverContact1:!0}).safeExtend({receiverContact1:e()}),addressName:e().optional(),shippingInfoLaterInputContact:e().optional()})).optional(),tempPasswordCheck:p()?e().nullable().optional():e().nonempty("임시 비밀번호 확인을 입력해주세요."),selectAddress:p()?a({error:r=>{if(!r.input)return"배송지를 선택해주세요."}}).refine(r=>r,{message:"배송지를 선택해주세요."}):a().optional()}).refine(r=>r.payType==="ACCOUNT"?!!r.remitter:!0,{message:"입금자명을 입력해주세요.",path:["remitter"]}).refine(r=>r.payType==="ACCOUNT"?!!r.bankAccountToDeposit:!0,{message:"입금은행을 선택해주세요.",path:["bankAccountToDeposit.bankAccount"]}).refine(r=>r.shippingAddress.countryCd==="KR"?!0:!!r.shippingAddress.receiverState,{message:"Receiver State is required",path:["shippingAddress.receiverState"]}).refine(({tempPassword:r,tempPasswordCheck:n})=>p()?!0:r===n,{message:"임시 비밀번호가 일치하지 않습니다.",path:["tempPasswordCheck"]}).refine(({payType:r,bankAccountToDeposit:n})=>r!=="ACCOUNT"?!0:!!(n!=null&&n.bankAccount),{message:"계좌번호를 입력해주세요.",path:["bankAccountToDeposit","bankAccount"]}).refine(({payType:r,applyCashReceipt:n,cashReceipt:c})=>!(r==="ACCOUNT"&&n&&!(c!=null&&c.cashReceiptKey)),{message:"발급 번호를 입력해주세요.",path:["cashReceipt","cashReceiptKey"]}),v=t({orderNo:e({error:r=>{if(!r.input)return"주문번호를 입력해주세요."}}),cashReceiptKeyType:i(["CARD_NO","MOBILE_NO","BUSINESS_NO","VOLUNTARY_NO"],{error:r=>{if(!r.input)return"현금영수증 발급 키 타입을 선택해주세요."}}),cashReceiptKey:e({error:r=>{if(!r.input)return"발급 번호를 입력해주세요."}}).trim().min(1,"발급 번호를 입력해주세요."),cashReceiptIssuePurposeType:i(["INCOME_TAX_DEDUCTION","PROOF_EXPENDITURE","VOLUNTARY"],{error:r=>{if(!r.input)return"현금영수증 발급 목적을 선택해주세요."}})});export{v as a,C as b,R as p,T as r};