PageSourceSearch

https://www.dolharupang.com/_next/static/chunks/61b239762286960e.js

js dolharupang.com collected 2026-09-24 10:56:57 UTC 309,373 bytes, 6 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,546627,e=>{"use strict";var a=e.i(843476),r=e.i(861745),s=e.i(881308);e.i(141898);var t=e.i(978037),t=t,i=e.i(342117),i=i,n=e.i(657688);let l=[{label:"iOS",src:"/images/wing/qr/QR_ios.png",alt:"iOS 앱 다운로드",Icon:t.ReactComponent},{label:"Android",src:"/images/wing/qr/QR_aos.png",alt:"안드로이드 앱 다운로드",Icon:i.ReactComponent}];function o(){return"en"===(0,r.useLocale)()?null:(0,a.jsxs)("aside",{className:"hidden w-[74px] shrink-0 flex-col gap-4 lg:flex","aria-label":"앱 다운로드",children:[(0,a.jsxs)(s.Typography,{as:"p",variant:"body-sm-regular",tone:"ds-muted",className:"leading-tight",children:[(0,a.jsx)("span",{className:"whitespace-nowrap",children:"더욱 더 편리한"}),(0,a.jsx)("br",{}),(0,a.jsx)("span",{className:"whitespace-nowrap",children:"돌하루팡 앱을"}),(0,a.jsx)("br",{}),(0,a.jsx)("span",{className:"whitespace-nowrap",children:"다운받으세요!"})]}),l.map(({src:e,alt:r,label:t,Icon:i})=>(0,a.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(i,{className:"h-4 w-4 shrink-0 text-[1rem] leading-none text-ds-text-muted","aria-hidden":!0}),(0,a.jsx)(s.Typography,{as:"span",variant:"label-sm",tone:"ds-muted",className:"translate-y-[1.5px]",children:t})]}),(0,a.jsx)("div",{className:"h-[60px] w-[60px] shrink-0",children:(0,a.jsx)(n.default,{src:e,alt:r,width:144,height:144,className:"h-full w-full object-contain"})})]},e))]})}e.s(["CarsAppDownloadWing",()=>o],546627)},307165,754209,e=>{"use strict";var a=e.i(843476),r=e.i(271645);e.i(927805);var s=e.i(570081),t=e.i(373375),i=e.i(463059),n=e.i(401718),l=e.i(615754);let o={pill:"shrink-0 rounded-full px-8 py-3 text-sm font-semibold leading-tight text-ds-text-tertiary transition-colors data-[state=active]:bg-ds-bg-card data-[state=active]:font-bold data-[state=active]:text-primary hover:text-foreground focus-visible:text-foreground",tabs:"relative z-base min-w-[7.25rem] shrink-0 whitespace-nowrap border-b border-l border-t border-ds-border bg-ds-white px-5 py-3 text-sm font-semibold leading-tight text-ds-text-primary transition-colors first:rounded-tl-ds-lg first:border-l last:rounded-tr-ds-lg last:border-r data-[state=active]:z-raised data-[state=active]:-mb-px data-[state=active]:border data-[state=active]:border-ds-primary data-[state=active]:bg-ds-bg-primary data-[state=active]:text-ds-primary hover:text-foreground focus-visible:text-foreground disabled:bg-ds-bg-card disabled:text-ds-text-tertiary disabled:cursor-not-allowed sm:min-w-[8rem]"},c={pill:"relative flex items-center rounded-md",tabs:"relative flex items-stretch items-center overflow-hidden border-b border-b-ds-primary bg-transparent"},d={pill:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full",tabs:"flex h-full w-10 shrink-0 items-center justify-center rounded-none border-0 bg-transparent text-ds-text-tertiary hover:bg-transparent hover:text-ds-text-primary disabled:bg-transparent disabled:text-ds-text-disabled sm:w-11"},p={pill:"flex max-w-full min-w-0 items-stretch overflow-x-auto overflow-y-hidden scroll-smooth [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden",tabs:"flex max-w-full min-w-0 items-stretch overflow-x-auto overflow-y-hidden scroll-smooth [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden"},u={pill:!0,tabs:!1};function m(e,a,r){let s=a+r;for(;s>=0&&s<e.length;){if(!e[s]?.disabled)return s;s+=r}return -1}let h=r.forwardRef(function({items:e,defaultValue:s,value:h,onValueChange:x,prevButtonLabel:g="이전 항목",nextButtonLabel:y="다음 항목",onPrevButtonClick:f,onNextButtonClick:b,prevButtonDisabled:v,nextButtonDisabled:j,loadingAriaLabel:N="선택 항목 준비 중",groupAriaLabel:w="선택 항목",className:C,itemClassName:k,variant:T="pill",...S},I){let[D,P]=(0,r.useState)(()=>s??e.find(e=>!e.disabled)?.value??""),A=(0,r.useRef)(null),R=(0,r.useRef)([]),L=(0,r.useRef)(!1),E=(0,r.useRef)(""),F=void 0!==h,B=s??e.find(e=>!e.disabled)?.value??"",O=F?h??"":""!==D&&e.some(e=>e.value===D)?D:B,_=(0,r.useCallback)(e=>{F||P(e),x?.(e)},[F,x]);(0,r.useLayoutEffect)(()=>{var a;let r=A.current;if(!r||!e.length||!O)return;let s=e=>(function(e,a){let r=e.querySelector('[data-slot="selection-rail-item"][data-state="active"]');
1if(!r)return;let s=e.getBoundingClientRect(),t=r.getBoundingClientRect(),i=t.left+t.width/2-(s.left+s.width/2);e.scrollTo({left:e.scrollLeft+i,behavior:a})})(r,e);if(!L.current){s("auto"),L.current=!0,E.current=O;return}E.current===O?s("auto"):(E.current=O,a=()=>{s("smooth")},requestAnimationFrame(()=>{requestAnimationFrame(a)}))},[e,O]);let $=e.findIndex(e=>e.value===O),M=m(e,$,-1),z=m(e,$,1),V=M>=0,H=z>=0,q=f?!v:V,K=b?!j:H,Q=(0,r.useCallback)(()=>{if(f)return void f();if(M<0)return;let a=e[M];a&&_(a.value)},[_,e,f,M]),W=(0,r.useCallback)(()=>{if(b)return void b();if(z<0)return;let a=e[z];a&&_(a.value)},[_,e,z,b]),U=$>=0&&!e[$]?.disabled?$:e.findIndex(e=>!e.disabled),G=(0,r.useCallback)((a,r)=>{if(e.length){if("ArrowLeft"===a.key||"ArrowRight"===a.key){a.preventDefault();let s=m(e,r,"ArrowLeft"===a.key?-1:1);if(s<0)return;let t=e[s];if(!t)return;_(t.value),R.current[s]?.focus();return}if("Home"===a.key||"End"===a.key){a.preventDefault();let r="Home"===a.key?1:-1,s="Home"===a.key?-1:e.length,t=m(e,s,r);if(t<0)return;let i=e[t];if(!i)return;_(i.value),R.current[t]?.focus()}}},[_,e]);return 0===e.length?(0,a.jsx)("div",{...S,ref:I,className:(0,n.cn)("relative flex h-12 w-full items-center justify-center rounded-md bg-muted/40",C),role:"status","aria-busy":"true","aria-label":N}):(0,a.jsxs)("div",{...S,ref:I,className:(0,n.cn)(c[T],C),children:[(0,a.jsx)(l.Button,{type:"button",shape:"tabs"===T?"plain":"outline",tone:"neutral",size:"unstyled",onClick:Q,disabled:!q,className:d[T],"aria-label":g,children:(0,a.jsx)(t.ChevronLeft,{className:"h-6 w-6",strokeWidth:1.5})}),(0,a.jsx)("div",{className:"flex min-w-0 flex-1 items-center justify-center",children:(0,a.jsxs)("div",{ref:A,role:"radiogroup","aria-label":w,className:p[T],children:[u[T]?(0,a.jsx)("div",{"aria-hidden":!0,className:"shrink-0 basis-1/2"}):null,e.map((e,r)=>{let s=e.value===O;return(0,a.jsx)(l.Button,{ref:e=>{R.current[r]=e},type:"button",shape:"plain",size:"unstyled",role:"radio","aria-checked":s,"aria-disabled":e.disabled,"aria-label":e.ariaLabel,tabIndex:r===U?0:-1,disabled:e.disabled,"data-slot":"selection-rail-item","data-state":s?"active":"inactive",onClick:()=>_(e.value),onKeyDown:e=>G(e,r),className:(0,n.cn)(o[T],k),children:e.label},e.value)}),u[T]?(0,a.jsx)("div",{"aria-hidden":!0,className:"shrink-0 basis-1/2"}):null]})}),(0,a.jsx)(l.Button,{type:"button",shape:"tabs"===T?"plain":"outline",tone:"neutral",size:"unstyled",onClick:W,disabled:!K,className:d[T],"aria-label":y,children:(0,a.jsx)(i.ChevronRight,{className:"h-6 w-6",strokeWidth:1.5})})]})});function x({defaultValue:e,value:t,onValueChange:i,minDate:n=new Date,maxDate:l,itemCount:o=7,selectedDateOffset:c,disabledLabel:d="마감",weekdayLabels:p,...u}){let m=e??(0,s.getSeoulIsoDate)(n),[x,g]=(0,r.useState)(m),y=void 0!==t,f=y?t??m:x,[b,v]=(0,r.useState)(f);(0,r.useEffect)(()=>{v(f)},[f]);let j=(0,r.useMemo)(()=>(0,s.getDateSelectionItems)({selectedDate:b,minDate:n,maxDate:l,itemCount:o,selectedDateOffset:c}).map(e=>{let a=e.dateText.replace(".","-"),r=new Date(`${e.value}T12:00:00Z`).getUTCDay(),s=p?.[r]??e.dayText,t=`${e.dateText} ${s}`;return{value:e.value,label:e.disabled?`${a} ${d}`:`${a} ${s}`,disabled:e.disabled,ariaLabel:e.disabled?`${t} (${d})`:t}}),[d,o,l,n,c,b,p]),N=(0,r.useMemo)(()=>(0,s.getSeoulIsoDate)(n),[n]),w=(0,r.useMemo)(()=>l?(0,s.getSeoulIsoDate)(l):void 0,[l]),C=(0,r.useMemo)(()=>!j.length||(j[0]?.value??"")<=N,[j,N]),k=(0,r.useMemo)(()=>!!w&&!!j.length&&(j[j.length-1]?.value??"")>=w,[j,w]),T=(0,r.useCallback)(e=>{y||g(e),v(e),i?.(e)},[y,i]),S=(0,r.useCallback)(e=>{v(a=>(0,s.getShiftedDateSelectionAnchor)({anchorDate:a,direction:e,itemCount:o}))},[o]),I=(0,r.useCallback)(()=>S("previous"),[S]),D=(0,r.useCallback)(()=>S("next"),[S]);return(0,a.jsx)(h,{...u,variant:"tabs",items:j,value:f,onValueChange:T,onPrevButtonClick:I,onNextButtonClick:D,prevButtonDisabled:C,nextButtonDisabled:k})}function g(){return(0,a.jsx)(x,{prevButtonLabel:"이전 날짜",nextButtonLabel:"다음 날짜"})}h.displayName="SelectionRail",e.s(["DateSelectionRail",()=>x],754209),e.s(["CarsDateTabs",()=>g],307165)},924565,e=>{"use strict";var a=e.i(843476),r=e.i(271645);e.i(645887);var s=e.i(263583);e.i(305918);var t=e.i(722381),i=e.i(861745),n=e.i(948148),l=e.i(881308);function o(){let e="en"===(0,i.useLocale)(),r=(0,n.useTranslations)("cars-landing");return(0,a.jsx)("div",{className:"pointer-events-none fixed left-1/2 top-16 z-toast -translate-x-1/2 px-4",children:(0,a.jsx)("div",{className:"rounded-ds-lg bg-ds-text-primary px-4 py-3 shadow-lg",children:(0,a.jsx)(l.Typography,{as:"p",variant:"body-sm-bold",tone:"white",children:e?r("favorite.empty"):"찜한 상품이 없습니다."})})})}function c({favoriteOnly:e,setFavoriteOnly:i}){let{isAuthenticated:n,isLoading:l}=(0,t.useAuth)(),c=(0,s.useGuestCarFavorites)(),[d,p]=r.useState(!1),u=r.useRef(null);r.useEffect(()=>()=>{u.current&&window.clearTimeout(u.current)},[]);let m=r.useCallback(()=>{p(!0),u.current&&window.clearTimeout(u.current),u.current=window.setTimeout(()=>{p(!1)},2400)},[]);return{handleFavoriteToggle:r.useCallback(()=>{let a=!e;!n&&!l&&a&&c.hasHydrated&&0===c.keys.size?m():i(a)},[e,c.hasHydrated,c.keys.size,l,n,i,m]),emptyFavoritesToast:d?(0,a.jsx)(o,{}):null}}e.s(["useCarsFavoriteOnlyToggle",()=>c],924565)},965646,e=>{"use strict";var a=e.i(843476),r=e.i(271645),s=e.i(861745),t=e.i(948148);e.i(954293);var i=e.i(378515),n=e.i(468470);e.i(411558);var l=e.i(963234),o=e.i(494448),c=e.i(924565);function d({className:e}){let d="en"===(0,s.useLocale)(),p=(0,t.useTranslations)("cars-landing"),{selectedSortBy:u,favoriteOnly:m,setSelectedSortBy:h,setFavoriteOnly:x}=(0,i.useCarsSearchParams)(),{handleFavoriteToggle:g,emptyFavoritesToast:y}=(0,c.useCarsFavoriteOnlyToggle)({favoriteOnly:m,setFavoriteOnly:x}),f=r.useMemo(()=>d?n.CARS_SORT_OPTIONS.map(e=>({id:e.id,label:p(`sort.${e.id}`)})):n.CARS_SORT_OPTIONS,[d,p]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.FavoriteSortBar,{className:e,favoriteActive:m,favoriteLabel:d?p("favorite.label"):void 0,favoriteLabelClassName:"text-ds-pink",favoriteIconClassName:"text-ds-pink",onFavoriteToggle:g,sortOptions:f,sortAriaLabel:d?p("sort.aria"):void 0,sortValue:u,onSortChange:e=>(0,o.scrollThenApplySearch)("cars",()=>h(e))}),y]})}e.s(["CarsFavoriteSortBar",()=>d])},769189,516106,e=>{"use strict";var a=e.i(843476),r=e.i(271645),s=e.i(861745),t=e.i(948148),i=e.i(615754),n=e.i(816345);e.i(927805);var l=e.i(401718);e.i(141898);var o=e.i(310039);e.i(765618);var c=e.i(147564);e.i(954293);var d=e.i(956797);function p({values:e,onToggleValue:p,visible:u}){let m="en"===(0,s.useLocale)(),h=(0,t.useTranslations)("cars-search"),[x,g]=r.useState(!1),y=m?d.INTERNATIONAL_RENTER_CDW_OPTIONS:d.CARS_SEARCH_INSURANCE_OPTIONS;return(0,a.jsxs)("div",{className:(0,l.cn)("grid transition-[grid-template-rows] duration-300 ease-in-out",u?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:[(0,a.jsx)("div",{className:"overflow-hidden",children:(0,a.jsxs)("div",{className:"mt-2.5 flex w-full min-w-0 items-center gap-3",children:[(0,a.jsx)(n.ButtonGroup,{values:e,onToggle:e=>p(e),size:"sm",selectedShape:"soft-outline",className:"min-w-0 flex-1 pr-px",children:y.map(e=>(0,a.jsx)(i.Button,{value:e.id,className:"min-w-0 flex-1 whitespace-nowrap px-2 font-medium text-[0.8125rem]",children:m?h(`cdw.tab.${e.id}`):e.label},e.id))}),(0,a.jsx)(i.Button,{shape:"plain",size:"unstyled",className:"shrink-0","aria-label":m?h("cdw.tabsInfoAria"):"면책 옵션 안내",onClick:()=>g(!0),children:(0,a.jsx)(o.IconCircleQuestion,{className:"shrink-0 w-6 h-6 text-[18px] text-ds-text-muted","aria-hidden":!0})})]})}),(0,a.jsx)(c.BoardDetailDialog,{open:x,onOpenChange:g,boardId:"artc_0069a7be8a879d7",label:m?h("cdw.tabsInfoAria"):"면책 옵션 안내"})]})}e.s(["InsuranceTabs",()=>p],769189);var u=e.i(37727),m=e.i(798912);e.i(721256);var h=e.i(478839),x=e.i(162685);function g(){let e="en"===(0,s.useLocale)(),a=(0,t.useTranslations)("cars-search"),r=e?{searchLabel:a("filter.searchLabel"),clearSelection:a("filter.action.clearSelection"),clearSelectionAria:e=>a("filter.action.clearSelectionAria",{name:e}),formatPrice:(e,r)=>a(e>=r?"filter.price.maximum":"filter.price.value",{amount:((e>
1=r?r:e)*1e4).toLocaleString("en-US")}),formatMinPrice:e=>a("filter.price.value",{amount:(1e4*e).toLocaleString("en-US")}),formatMaxPrice:e=>a("filter.price.maximum",{amount:(1e4*e).toLocaleString("en-US")}),resetFilterAria:e=>a("filter.action.resetFilterAria",{name:e}),resetAll:a("filter.action.resetAll"),apply:a("filter.action.apply"),panelAria:a("filter.panel.aria"),closeAria:a("filter.close")}:void 0;return{isEnglish:e,searchPlaceholder:e?a("filter.searchPlaceholder"):"모델명, 업체명 (콤마 ' , '로 중복검색)",dialogTitle:e?a("filter.dialogTitle"):void 0,close:e?a("filter.close"):"쉬운 필터 닫기",copy:r}}function y({onClose:e,panelDate:r,insuranceTypes:s,onToggleInsurance:t}){let n=g(),o=(0,x.useCarsSearchPeriodDialogLabels)(n.isEnglish),c=(0,a.jsx)(i.Button,{shape:"soft",size:"cta-40",className:(0,l.cn)("min-w-0 flex-1 justify-center gap-2 rounded-ds-sm border border-primary/20 bg-primary/5 font-medium hover:bg-primary/5","h-9"),children:(0,a.jsx)("span",{className:"truncate text-[0.8125rem] font-semibold text-primary",children:r?.dateDisplay})});return(0,a.jsxs)("section",{className:"relative z-dropdown shrink-0 bg-background",children:[(0,a.jsxs)("div",{className:"p-4 pb-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[r?(0,a.jsx)(x.CarsSearchPeriodDialog,{open:r.dateOpen,onOpenChange:r.onDateOpenChange,trigger:c,dateRange:r.dateRange,onDateRangeChange:r.onDateRangeChange,rentalTime:r.rentalTime,onRentalTimeChange:r.onRentalTimeChange,returnTime:r.returnTime,onReturnTimeChange:r.onReturnTimeChange,calendarDisabled:r.calendarAvailability?{before:r.calendarAvailability.minDate,after:r.calendarAvailability.maxDate}:void 0,calendarMonthCount:r.calendarAvailability?.monthCount,calendarStartMonth:r.calendarAvailability?.minDate,labels:o}):c,(0,a.jsx)(i.Button,{shape:"plain",size:"unstyled",className:(0,l.cn)("w-8 text-ds-text-tertiary hover:text-ds-text-primary","h-9"),"aria-label":n.close,onClick:e,children:(0,a.jsx)(u.X,{className:"h-5 w-5","aria-hidden":!0})})]}),(0,a.jsx)(p,{values:s,onToggleValue:t,visible:!0})]}),(0,a.jsx)("div",{className:"border-t border-ds-border",children:(0,a.jsx)(h.EasyFilterSearchBar,{placeholder:n.searchPlaceholder,inputClassName:"h-9 py-0 text-[0.8125rem]"})})]})}function f({store:e,open:r,onOpenChange:s,initialSectionId:t,mode:i="dialog",className:n,panelDate:l,panelInsuranceTypes:o,onPanelToggleInsurance:c,initialKeyword:d,initialTags:p,initialChargeMin:u,initialChargeMax:x,onApply:f,onResetApply:b}){let v=g();return(0,a.jsx)(h.EasyFilterDialog,{store:e,open:r,onOpenChange:s,mode:i,initialSectionId:t,className:n,searchPlaceholder:v.searchPlaceholder,...v.dialogTitle?{dialogTitle:v.dialogTitle}:{},sectionIconByLabel:m.CAR_TYPE_ICON_BY_LABEL,iconSectionId:"car-type",copy:v.copy,unoptimizedSectionIcons:!0,panelTop:"panel"===i?(0,a.jsx)(y,{onClose:()=>s(!1),panelDate:l,insuranceTypes:o??[],onToggleInsurance:c??(()=>{})}):void 0,initialKeyword:d,initialTags:p,initialChargeMin:u,initialChargeMax:x,onApply:f,onResetApply:b})}e.s(["FilterDialog",()=>f],516106)},395225,486623,216631,e=>{"use strict";var a=e.i(843476),r=e.i(271645),s=e.i(861745),t=e.i(948148),i=e.i(189628),n=e.i(869179),l=e.i(494448);e.i(927805);var o=e.i(959871),c=e.i(841936);e.i(954293);var d=e.i(378515),p=e.i(245990),u=e.i(848097),m=e.i(162685),h=e.i(956797),x=e.i(468470);e.i(141898);var g=e.i(6666);e.i(42344);var y=e.i(738500);e.i(246590);var f=e.i(617561);e.i(965646);var b=e.i(924565);e.s([],486623),e.i(405919);var v=e.i(19403),j=e.i(967381);let N=(0,e.i(433410).createEasyFilterStore)({sectionIdByName:{차종:"car-type","Vehicle Type":"car-type","Ai 인기태그":"ai-tag","Popular Picks":"ai-tag",테마차량:"theme","Vehicle Themes":"theme",운전자나이:"driver-age","Driver Age":"driver-age",연료:"fuel","Fuel Type":"fuel",연식:"year","Model Year":"year",옵션:"option",Features:"option",기타:"etc","More Filters":"etc"}});function w(){let e="en"===(0,s.useLocale)();(0,v.useHydrateEasyFilterStore)(N,"car",void 0,e?j.hideEnglishDriverLicenseFilter:void 0)}e.s(["useCarsFilterStore",0,N,"useHydrateCarsFilterStore",()=>w],216631);var C=e.i(769189),k=e.i(516106);let T={차종:"carType","Ai 인기태그":"aiTag",테마차량:"theme",운전자나이:"driverAge",연료:"fuel",연식:"year",옵션:"option",기타:"etc"},S="10:00",I="10:00";function D({className:e,expanded:v=!0}={}){let j="en"===(0,s.useLocale)(),P=(0,t.useTranslations)("cars-landing"),A=(0,t.useTranslations)("cars-search"),R=(0,m.useCarsSearchPeriodDialogLabels)(j);w();let L=N(e=>e.filterDialogTabs),E=N(e=>e.easyFilterSections),{searchFormInitial:F,updateSearch:B,selectedSortBy:O,setSelectedSortBy:_,favoriteOnly:$,setFavoriteOnly:M,filterKeyword:z,filterTags:V,filterChargeMin:H,filterChargeMax:q,applyEasyFilter:K}=(0,d.useCarsSearchParams)(),{handleFavoriteToggle:Q,emptyFavoritesToast:W}=(0,b.useCarsFavoriteOnlyToggle)({favoriteOnly:$,setFavoriteOnly:M}),U=r.useMemo(()=>{let e=(0,o.buildEasyFilterChipItems)(L,E,{tags:V,chargeMin:H,chargeMax:q});return j?e.map(e=>{let a=T[e.label];return a?{...e,label:A(`filter.group.${a}`)}:e}):e},[L,E,V,H,q,j,A]),G=F.insuranceTypes,Y=r.useCallback(e=>j?(0,h.normalizeInternationalRenterCdwTypes)(e):[...e],[j]),J=r.useMemo(()=>j?(0,h.normalizeInternationalRenterCdwTypes)(G):G,[j,G]),Z=(0,u.useCarsInitialDates)(),X=r.useMemo(()=>({...F,dateRange:F.dateRange??Z?.dateRange,rentalTime:F.rentalTime??Z?.rentalTime,returnTime:F.returnTime??Z?.returnTime,calendarAvailability:Z?.calendarAvailability}),[F,Z]),ee=(0,p.useCarsSearchFilters)(X),[ea,er]=r.useState(!1),[es,et]=r.useState(!1),[ei,en]=r.useState(),el=r.useMemo(()=>{let e=X.dateRange??ee.dateRange,a=X.rentalTime??ee.rentalTime??S,r=X.returnTime??ee.returnTime??I;return!e?.from&&j?{from:P("search.datePlaceholder"),to:null}:(0,c.formatDateRangeParts)(e,a,r,j?"en":"ko")},[j,P,X.dateRange,X.rentalTime,X.returnTime,ee.dateRange,ee.rentalTime,ee.returnTime]),eo=null===el.to?el.from:`${el.from} → ${el.to}`,ec=x.CARS_SORT_OPTIONS.find(e=>e.id===O)??x.CARS_SORT_OPTIONS[0],ed=e=>j?P(`sort.${e.id}`):e.label,ep=ed(ec),eu=(0,a.jsxs)(n.SortDrawer.Root,{open:ea,onOpenChange:er,children:[(0,a.jsx)(n.SortDrawer.TriggerChip,{onClick:()=>er(!0),"aria-expanded":ea,"aria-haspopup":"dialog","aria-label":j?A("sort.dialogTitle"):"정렬 기준 선택",children:ep}),(0,a.jsx)(n.SortDrawer.Content,{title:j?A("sort.dialogTitle"):"정렬 기준 선택",children:(0,a.jsx)(n.SortDrawer.OptionList,{value:O,onValueChange:e=>{er(!1),(0,l.scrollThenApplySearch)("cars",()=>_(e))},"aria-label":j?A("sort.aria"):"정렬 기준",children:x.CARS_SORT_OPTIONS.map(e=>{let r=ed(e);return(0,a.jsx)(n.SortDrawer.OptionItem,{optionId:`cars-search-sort-${e.id}`,value:e.id,label:r,ariaLabel:j?A("sort.optionAria",{option:r}):`${r} 선택`},e.id)})})})]});return(0,a.jsxs)(i.SearchStickyHeader.Root,{"aria-label":j?P("searchHeader.aria"):"검색 필터",className:e,children:[(0,a.jsxs)(i.SearchStickyHeader.Container,{children:[(0,a.jsxs)(i.SearchStickyHeader.TopRow,{children:[(0,a.jsxs)(i.SearchStickyHeader.FilterTrigger,{onClick:()=>{en(void 0),et(!0)},"aria-expanded":es,"aria-haspopup":"dialog","aria-label":j?P("searchHeader.filterAria"):"쉬운 필터 열기",children:[(0,a.jsx)(g.IconSlidersRegular,{className:"animate-fa-flip h-3 w-3","aria-hidden":!0}),j?P("searchHeader.filter"):"필터"]}),(0,a.jsx)(m.CarsSearchPeriodDialog,{open:ee.dateOpen,onOpenChange:e=>{e&&(ee.setDateRange(X.dateRange),ee.setRentalTime(X.rentalTime??S),ee.setReturnTime(X.returnTime??I)),ee.setDateOpen(e)},onSubmit:()=>{(0,l.scrollThenApplySearch)("cars",()=>B({dateRange:ee.dateRange,rentalTime:ee.rentalTime,returnTime:ee.returnTime,insuranceTypes:Y(G)}))},trigger:(0,a.jsx)(i.SearchStickyHeader.DateTrigger,{children:eo}),dateRange:ee.dateRange,onDateRangeChange:ee.setDateRange,rentalTime:ee.rentalTime,onRentalTimeChange:ee.setRentalTime,returnTime:ee.returnTime,onReturnTimeChange:ee.setReturnTime,calendarDisabled:ee.calendarAvailability?{before:ee.calendarAvailability.minDate,after:ee.calendarAvailability.maxDate}:void 0,calendarMonthCount:ee.calendarAvailability?.monthCount,calendarStartMonth:ee.calendarAvailability?.minDate,labels:R})]}),v?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(C.InsuranceTabs,{values:J,onToggleValue:e=>{let a=j?J:G,r=(0,h.toggleInsuranceType)(a,e),s=j?Y(r):r;(0,l.scrollThenApplySearch)("cars",()=>B({dateRange:X.dateRange,rentalTime:X.rentalTime??S,returnTime:X.returnTime??I,insuranceTypes:s}))},visible:!0}),(0,a.jsx)(y.FilterChipBar,{items:U,onItemClick:e=>{en(e),et(!0)},sortSlot:eu,favoriteActive:$,favoriteLabel:j?P("favorite.label"):void 0,onFavoriteToggle:()=>(0,l.scrollThenApplySearch)("cars",Q)})]}):null,(0,a.jsx)("div",{className:"-mx-4 -mb-3 mt-2",children:(0,a.jsx)(f.CarsLocationBanner,{location:"searchTop"})})]}),(0,a.jsx)(k.FilterDialog,{store:N,open:es,onOpenChange:et,initialSectionId:ei,initialKeyword:z,initialTags:V,initialChargeMin:H,initialChargeMax:q,onApply:e=>(0,l.scrollThenApplySearch)("cars",()=>K(e))}),W]})}e.s(["CarsSearchStickyHeader",()=>D],395225)},792415,398215,e=>{"use strict";var a=e.i(843476),r=e.i(271645),s=e.i(861745),t=e.i(948148),i=e.i(555436);e.i(954293);var n=e.i(378515),l=e.i(245990),o=e.i(848097),c=e.i(956797);e.i(73991);var d=e.i(893813),p=e.i(809022),u=e.i(520235),m=e.i(494448);e.i(927805);var h=e.i(841936);e.i(395225);var x=e.i(516106),g=e.i(216631);function y(){let e="en"===(0,s.useLocale)(),y=(0,t.useTranslations)("cars-search");(0,g.useHydrateCarsFilterStore)();let{searchFormInitial:f,filterKeyword:b,filterTags:v,filterChargeMin:j,filterChargeMax:N,applyEasyFilter:w,searchWithEasyFilter:C}=(0,n.useCarsSearchParams)(),[k,T]=r.useState(!1),[S,I]=r.useState(()=>e?(0,c.normalizeInternationalRenterCdwTypes)(f.insuranceTypes):f.insuranceTypes);(0,d.useDesktopEasyFilterPanelAutoToggle)({open:k,setOpen:T});let D=(0,o.useCarsInitialDates)(),P=r.useMemo(()=>({...f,dateRange:f.dateRange??D?.dateRange,rentalTime:f.rentalTime??D?.rentalTime,returnTime:f.returnTime??D?.returnTime,calendarAvailability:D?.calendarAvailability}),[f,D]),A=(0,l.useCarsSearchFilters)(P),{setDateRange:R,setRentalTime:L,setReturnTime:E}=A,F=a=>{a&&(I(e?(0,c.normalizeInternationalRenterCdwTypes)(f.insuranceTypes):f.insuranceTypes),P.dateRange&&R(P.dateRange),L(P.rentalTime??"10:00"),E(P.returnTime??"10:00")),T(a)},B=a=>{I(r=>{let s=e?(0,c.normalizeInternationalRenterCdwTypes)(r):r,t=(0,c.toggleInsuranceType)(s,a);return e?(0,c.normalizeInternationalRenterCdwTypes)(t):t})},O=(0,h.formatDateRangeParts)(A.dateRange,A.rentalTime,A.returnTime,e?"en":"ko"),_={dateDisplay:null===O.to?O.from:`${O.from} → ${O.to}`,dateRange:A.dateRange,rentalTime:A.rentalTime,returnTime:A.returnTime,dateOpen:A.dateOpen,onDateOpenChange:A.setDateOpen,onDateRangeChange:A.setDateRange,onRentalTimeChange:A.setRentalTime,onReturnTimeChange:A.setReturnTime,calendarAvailability:D?.calendarAvailability},$=e=>{(0,m.scrollThenApplySearch)("cars",()=>C({dateRange:A.dateRange,rentalTime:A.rentalTime,returnTime:A.returnTime,insuranceTypes:S},e))},M=e=>{(0,m.scrollThenApplySearch)("cars",()=>w(e))};return(0,a.jsxs)(a.Fragment,{children:[!k&&(0,a.jsx)(u.FloatingGuideButton,{icon:(0,a.jsx)(i.Search,{className:"h-4 w-4 shrink-0 text-primary",strokeWidth:3,"aria-hidden":!0}),title:e?y("filter.panel.title"):"쉬운 필터로",description:e?y("filter.panel.description"):"딱 맞는 차량 찾기","aria-label":e?y("filter.panel.openAria"):"쉬운 필터 열기",onClick:()=>F(!0)}),(0,a.jsx)(p.DesktopEasyFilterPanelFrame,{open:k,children:e=>(0,a.jsx)(x.FilterDialog,{store:g.useCarsFilterStore,mode:"panel",open:e,onOpenChange:F,panelDate:_,panelInsuranceTypes:S,onPanelToggleInsurance:B,initialKeyword:b,initialTags:v,initialChargeMin:j,initialChargeMax:N,onApply:$,onResetApply:M})})]})}e.s([],398215),e.s(["DesktopEasyFilterPanel",()=>y],792415)},689968,e=>{"use strict";var a=e.i(843476),r=e.i(463059),s=e.i(522016);e.i(927805);var t=e.i(401718),i=e.i(881308);e.s(["ContentSection",0,{Root:function({headingId:e,className:r,children:s,...i}){let n=i["aria-labelledby"]??e;return(0,a.jsx)("section",{...i,"aria-labelledby":n,className:(0,t.cn)("flex flex-col w-full gap-5 lg:gap-6",r),children:s})},Header:function({className:e,...r}){return(0,a.jsx)("div",{className:(0,t.cn)("flex flex-col items-start gap-1 lg:gap-2",e),...r})}
1,Title:function({align:e="left",tone:r="ds-primary",className:s,children:t,...n}){return(0,a.jsxs)(i.Typography,{as:"h2",variant:"title-lg",tone:r,align:e,className:s,...n,children:[(0,a.jsx)("span",{className:"lg:hidden",children:t}),(0,a.jsx)(i.Typography,{as:"span",variant:"heading-lg",tone:r,className:"hidden lg:inline",children:t})]})},Description:function({align:e="left",tone:r="ds-secondary",className:s,...t}){return(0,a.jsx)(i.Typography,{as:"p",variant:"body-sm-regular",tone:r,align:e,className:s,...t})},Body:function({className:e,...r}){return(0,a.jsx)("div",{className:e,...r})},ActionLink:function({className:e,children:n="전체보기",...l}){return(0,a.jsxs)(s.default,{className:(0,t.cn)("shrink-0 flex items-center gap-0.5 text-ds-text-tertiary lg:text-ds-primary hover:text-foreground",e),...l,children:[(0,a.jsx)(i.Typography,{as:"span",variant:"body-sm-bold",tone:"ds-accent",className:"hidden lg:inline",children:n}),(0,a.jsx)(r.ChevronRight,{className:"h-5 w-5",strokeWidth:1.5,"aria-hidden":!0})]})}}])},754029,e=>{"use strict";var a=e.i(843476),r=e.i(522016),s=e.i(618566),t=e.i(861745),i=e.i(948148),n=e.i(463059),l=e.i(47893),o=e.i(289305),c=e.i(689968),d=e.i(881308);e.i(984345);var p=e.i(795892);e.i(927805);var u=e.i(127964),m=e.i(842733);function h({items:e,valuePrefix:r,columns:s=2}){return(0,a.jsx)(o.Accordion,{type:"multiple",className:1===s?"flex flex-col gap-2":"grid gap-y-2 lg:gap-y-2 lg:gap-x-4 lg:grid-cols-2 items-start",children:e.map((e,s)=>{let t=`${r}-${s}`,i=`${t}-trigger`,n=`${t}-content`;return(0,a.jsxs)(o.AccordionItem,{value:t,className:"px-4 rounded-ds-lg bg-ds-white h-fit",children:[(0,a.jsx)(l.AccordionTrigger,{id:i,"aria-controls":n,children:(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 items-start gap-3 lg:gap-4",children:[(0,a.jsx)(d.Typography,{as:"span",variant:"body-sm-bold",tone:"ds-accent",className:"min-w-0 text-left lg:hidden",children:"Q"}),(0,a.jsx)(d.Typography,{as:"span",variant:"body-sm-regular",tone:"ds-secondary",className:"min-w-0 flex-1 text-left lg:hidden",children:e.question}),(0,a.jsx)(d.Typography,{as:"span",variant:"body-md-bold",tone:"ds-accent",className:"hidden min-w-0 text-left lg:inline",children:"Q"}),(0,a.jsx)(d.Typography,{as:"span",variant:"body-md-regular",tone:"ds-secondary",className:"hidden min-w-0 flex-1 text-left lg:inline",children:e.question})]})}),(0,a.jsx)(o.AccordionContent,{id:n,"aria-labelledby":i,children:(0,a.jsxs)("div",{className:"flex gap-3 lg:gap-4",children:[(0,a.jsx)(d.Typography,{as:"span",variant:"body-sm-bold",tone:"ds-accent",className:"pt-1 text-left lg:hidden",children:"A"}),(0,a.jsx)(d.Typography,{as:"span",variant:"body-md-bold",tone:"ds-accent",className:"pt-0.5 hidden min-w-0 text-left lg:inline",children:"A"}),(0,a.jsx)(d.Typography,{as:"div",variant:"body-sm-regular",tone:"ds-tertiary",className:"min-w-0 flex-1 whitespace-pre-line leading-[1.6] [&_p]:mb-2 [&_p:last-child]:mb-0 [&_a]:text-ds-primary [&_b]:font-bold [&_strong]:font-bold [&_i]:italic [&_em]:italic [&_u]:underline",dangerouslySetInnerHTML:{__html:(0,u.sanitizeHtml)(e.answer)}})]})})]},t)})})}function x({columns:e=2,items:s,description:t,headingId:i,title:l,viewAllLabel:o,viewAllHref:p}){let u=s.length>18,m=u?s.slice(0,18):s,x=(0,a.jsx)(h,{items:m,valuePrefix:"faq",columns:e});return(0,a.jsxs)(c.ContentSection.Root,{headingId:i,children:[(0,a.jsxs)(c.ContentSection.Header,{className:"relative w-full items-center gap-2 text-center",children:[(0,a.jsx)(c.ContentSection.Title,{id:i,tone:"ds-primary",align:"center",className:"text-[22px] font-bold lg:[&>span:last-child]:text-[26px]",children:l}),(0,a.jsx)(c.ContentSection.Description,{tone:"ds-muted",align:"center",className:"text-[15px] font-bold lg:text-[17px]",children:t})]}),x,u&&(0,a.jsx)("div",{className:"flex justify-center",children:(0,a.jsxs)(r.default,{href:p,className:"group inline-flex items-center gap-0.5 px-2 py-2.5 text-ds-primary transition-colors hover:text-ds-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ds-primary focus-visible:ring-offset-2",children:[(0,a.jsx)(d.Typography,{as:"span",variant:"body-md-bold",tone:"inherit",className:"underline-offset-4 group-hover:underline",children:o}),(0,a.jsx)(n.ChevronRight,{className:"h-4 w-4",strokeWidth:1.8,"aria-hidden":!0})]})})]})}function g({columns:e,items:r,description:n,headingId:l="faq-heading"}){var o;let c=(0,s.usePathname)(),d="en"===(0,t.useLocale)()?"en":"ko",u=(0,i.useTranslations)("cars-landing"),h=(o=c?(0,m.splitLocalePathname)(c).pathname:"/").startsWith("/stays")?"stays":o.startsWith("/flights")?"flights":o.startsWith("/tickets")?"tickets":o.startsWith("/items")?"items":o.startsWith("/cars-global")?"global-cars":"cars",g="en"===d;return(0,a.jsx)(x,{columns:e,items:r,description:n??(g?u("faq.section.description"):"제주 렌트카 예약 전 꼭 확인해야 할 질문 목록"),headingId:l,productType:h,title:g?u("faq.section.title"):"자주 묻는 질문",viewAllLabel:g?u("faq.section.viewAll"):"FAQ 전체보기",viewAllHref:g?(0,m.localizePathname)((0,p.createFaqHref)(h),d):(0,p.createFaqHref)(h)})}e.s(["CarsFaq",()=>g])},778973,e=>{"use strict";
1var a=e.i(843476),r=e.i(271645),s=e.i(657688),t=e.i(522016),i=e.i(861745),n=e.i(948148),l=e.i(266027),o=e.i(62765),c=e.i(302801),d=e.i(523261),p=e.i(615754),u=e.i(14082),m=e.i(35106),h=e.i(881308);e.i(989906);var x=e.i(996477),g=e.i(667266),y=e.i(407303);e.i(765618);var f=e.i(147564);e.i(954293);var b=e.i(616001);function v({banner:e,priority:r}){let t="en"===(0,i.useLocale)(),l=(0,n.useTranslations)("cars-landing");return(0,a.jsx)(s.default,{src:e.imageUrl,alt:e.name||(t?l("promo.banner.alt"):"돌하루팡 프로모션 배너"),fill:!0,className:"object-cover",sizes:"(max-width: 1280px) 100vw, 1280px",priority:r,...(0,y.getBannerTrackingAttributes)(e)})}function j({banner:e,priority:s,onNavigate:i,onArticleClick:n}){let[l,o]=r.useState(!1);(0,b.useCloseOnCarsStaleRefresh)(()=>o(!1));let c=(0,a.jsx)(v,{banner:e,priority:s}),d=(0,y.getBannerArticleId)(e);if(d)return n?(0,a.jsx)("button",{type:"button",onClick:()=>n(e),"aria-label":e.name,className:"block h-full w-full cursor-pointer",children:c}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{type:"button",onClick:()=>o(!0),"aria-label":e.name,className:"block h-full w-full cursor-pointer",children:c}),(0,a.jsx)(f.BoardDetailDialog,{open:l,onOpenChange:o,boardId:d,label:e.name})]});let p=(0,y.getBannerClickHref)(e);return p?(0,a.jsx)(t.default,{href:p,"aria-label":e.name,className:"block h-full w-full",onClick:i,children:c}):c}function N({banners:e}){let[s,t]=r.useState(null);return r.useEffect(()=>{s?.scrollTo(0,!0)},[s,e[0]?.bannerId]),r.useEffect(()=>{if(!s)return;let e=setInterval(()=>{"hidden"!==document.visibilityState&&s.scrollNext()},3e3);return()=>clearInterval(e)},[s]),(0,a.jsx)("div",{className:"w-full bg-muted",children:(0,a.jsx)("div",{className:"mx-auto max-w-[1160px]",children:(0,a.jsxs)(o.Carousel,{className:"w-full",setApi:t,opts:{align:"start",loop:!0,slidesToScroll:1},children:[(0,a.jsx)(c.CarouselContent,{className:"ml-0",children:e.map((e,r)=>(0,a.jsx)(c.CarouselItem,{className:"basis-full shrink-0 pl-0",children:(0,a.jsx)("div",{className:"relative aspect-375/170 w-full overflow-hidden bg-muted",...(0,y.getBannerTrackingAttributes)(e),children:(0,a.jsx)(j,{banner:e,priority:0===r})})},e.bannerId))}),(0,a.jsx)(o.CarouselCounter,{slideCount:e.length,className:"absolute bottom-3 right-3"})]})})})}function w({open:e,onOpenChange:r,banners:s,onArticleClick:t}){let l="en"===(0,i.useLocale)(),o=(0,n.useTranslations)("cars-landing");return(0,a.jsx)(u.Dialog,{open:e,onOpenChange:r,children:(0,a.jsxs)(u.DialogContentFullscreen,{className:"flex flex-col bg-background p-0 md:h-[90vh] md:max-w-[700px]",cardBreakpoint:"md",hideCloseButton:!0,children:[(0,a.jsx)(u.DialogFullscreenHeader,{title:l?o("promo.dialogTitle"):"배너 전체",closeAriaLabel:l?o("promo.close"):void 0}),(0,a.jsx)("div",{className:"min-h-0 flex-1 space-y-3 overflow-y-auto px-4 py-4",children:s.map(e=>(0,a.jsxs)("div",{className:"relative aspect-375/170 w-full overflow-hidden rounded-ds-lg bg-muted",...(0,y.getBannerTrackingAttributes)(e),children:[(0,a.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center","aria-hidden":!0,children:(0,a.jsx)(m.BrandSpinner,{label:l?o("promo.banner.loadingAlt"):void 0})}),(0,a.jsx)(j,{banner:e,onNavigate:()=>r(!1),onArticleClick:t})]},e.bannerId))})]})})}function C({slideCount:e,banners:s}){let t="en"===(0,i.useLocale)(),l=(0,n.useTranslations)("cars-landing"),{scrollPrev:d,scrollNext:u,canScrollPrev:m,canScrollNext:x}=(0,c.useCarousel)(),[g,v]=r.useState(!1),[j,N]=r.useState(null),[C,k]=r.useState(!1),T=j?(0,y.getBannerArticleId)(j):null;return(0,b.useCloseOnCarsStaleRefresh)(()=>{v(!1),k(!1)}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2 bg-brand-bg-primary px-4 py-3",children:[(0,a.jsx)(p.Button,{type:"button",shape:"plain",size:"unstyled","aria-label":t?l("promo.viewAllAria"):"프로모션 전체 보기",onClick:()=>v(!0),children:(0,a.jsx)(h.Typography,{as:"span",variant:"body-md",tone:"ds-muted",children:t?l("promo.viewAll"):"전체보기"})}),(0,a.jsx)(w,{open:g,onOpenChange:v,banners:s,onArticleClick:e=>{v(!1),window.setTimeout(()=>{N(e),k(!0)},200)}}),j&&T?(0,a.jsx)(f.BoardDetailDialog,{open:C,onOpenChange:e=>{k(e),e||window.setTimeout(()=>v(!0),200)},boardId:T,label:j.name}):null,(0,a.jsx)(o.CarouselDots,{slideCount:e,tone:"dark",dotClassName:"h-2 w-2",dotActiveClassName:"h-2 w-2"}),(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsx)(p.Button,{type:"button",shape:"plain",size:"unstyled",onClick:()=>d(),disabled:!m,"aria-label":t?l("promo.prevAria"):"이전 프로모션",children:(0,a.jsx)(h.Typography,{as:"span",variant:"body-md",tone:"ds-muted",children:t?l("promo.prev"):"이전"})}),(0,a.jsx)(p.Button,{type:"button",shape:"plain",size:"unstyled",onClick:()=>u(),disabled:!x,"aria-label":t?l("promo.nextAria"):"다음 프로모션",children:(0,a.jsx)(h.Typography,{as:"span",variant:"body-md",tone:"ds-muted",children:t?l("promo.next"):"다음"})})]})]})}function k(){let e="en"===(0,i.useLocale)(),r=(0,n.useTranslations)("cars-landing");return(0,a.jsxs)("div",{className:"flex w-full flex-col overflow-hidden rounded-ds-lg bg-background",children:[(0,a.jsx)(d.CarouselLoadingImage,{alt:e?r("promo.banner.loadingAlt"):"프로모션 배너 로딩 중",className:"h-[250px]"}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2 bg-brand-bg-primary px-4 py-3","aria-hidden":!0,
1children:[(0,a.jsx)(h.Typography,{as:"span",variant:"body-md",tone:"ds-muted",children:e?r("promo.viewAll"):"전체보기"}),(0,a.jsx)("div",{className:"flex items-center gap-1.5",children:[0,1,2].map(e=>(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-white/40"},e))}),(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsx)(h.Typography,{as:"span",variant:"body-md",tone:"ds-muted",children:e?r("promo.prev"):"이전"}),(0,a.jsx)(h.Typography,{as:"span",variant:"body-md",tone:"ds-muted",children:e?r("promo.next"):"다음"})]})]})]})}function T({banners:e}){let s="en"===(0,i.useLocale)(),t=(0,n.useTranslations)("cars-landing"),[l,d]=r.useState(null);return r.useEffect(()=>{l?.scrollTo(0,!0)},[l,e[0]?.bannerId]),r.useEffect(()=>{if(!l)return;let e=window.setInterval(()=>{"hidden"!==document.visibilityState&&l.scrollNext()},4e3);return()=>window.clearInterval(e)},[l]),(0,a.jsx)("div",{className:"flex w-full flex-col overflow-hidden rounded-ds-lg bg-background",children:(0,a.jsxs)(o.Carousel,{className:"flex w-full flex-col",setApi:d,opts:{align:"start",loop:!0,slidesToScroll:1},"aria-label":s?t("promo.banner.aria"):"프로모션 배너",children:[(0,a.jsx)(c.CarouselContent,{className:"ml-0",children:e.map((e,r)=>(0,a.jsx)(c.CarouselItem,{className:"basis-full shrink-0 pl-0",children:(0,a.jsx)("div",{className:"relative h-[250px] w-full overflow-hidden bg-muted",...(0,y.getBannerTrackingAttributes)(e),children:(0,a.jsx)(j,{banner:e,priority:0===r})})},e.bannerId))}),(0,a.jsx)(C,{slideCount:e.length,banners:e})]})})}function S({variant:e,type:s="car",regionCode:t}){let o="en"===(0,i.useLocale)(),c=(0,n.useTranslations)("cars-landing"),{data:p,isError:u,isLoading:m}=(0,l.useQuery)(x.contentQueries.banners({...(0,g.createAllBannersParams)(s,t),...o?{locale:"en"}:{}})),h=r.useMemo(()=>(0,y.selectVisibleCarouselBanners)(p?.items??[]).filter(e=>"main"===e.location),[p?.items]);return m?"compact"===e?(0,a.jsx)(d.CarouselLoadingImage,{alt:o?c("promo.banner.loadingAlt"):"프로모션 배너 로딩 중",className:"aspect-375/170"}):(0,a.jsx)(k,{}):u||0===h.length?null:"compact"===e?(0,a.jsx)(N,{banners:h}):(0,a.jsx)(T,{banners:h})}e.s(["CarsPromoCarousel",()=>S])},715788,e=>{"use strict";let a=(0,e.i(475254).default)("truck",[["path",{d:"M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2",key:"wrbu53"}],["path",{d:"M15 18H9",key:"1lyqi6"}],["path",{d:"M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14",key:"lysw3i"}],["circle",{cx:"17",cy:"18",r:"2",key:"332jqn"}],["circle",{cx:"7",cy:"18",r:"2",key:"19iecd"}]]);e.s(["Truck",()=>a],715788)},39312,e=>{"use strict";let a=(0,e.i(475254).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);e.s(["Zap",()=>a],39312)},306291,e=>{"use strict";var a=e.i(843476),r=e.i(271645),s=e.i(653145),t=e.i(618566),i=e.i(266027),n=e.i(154452);e.i(211930);var l=e.i(761843),o=e.i(868888);e.i(113727);var c=e.i(286642);e.i(645887);var d=e.i(650113),p=e.i(642542),u=e.i(445397),m=e.i(931180),h=e.i(46221);e.i(542440);var x=e.i(799264),g=e.i(798534);e.i(305918);var y=e.i(5288),f=e.i(664387),b=e.i(722381),v=e.i(733102),j=e.i(35106),N=e.i(881308);e.i(316036);var w=e.i(249706),C=e.i(994814);e.i(711489);var k=e.i(125837);e.i(246685);var T=e.i(50270);e.i(927805);var S=e.i(179348);let I=T.z.object({phone:T.z.string().regex(/^01[016789]-?\d{3,4}-?\d{4}$/,"올바른 휴대폰 번호를 입력해주세요."),surname:T.z.string().min(1,"성을 입력해주세요."),name:T.z.string().min(1,"이름을 입력해주세요."),birthDate:T.z.string().optional()}),D=I.extend({birthDate:T.z.string().regex(S.BIRTH_DATE_FORMAT_REGEX,S.BIRTH_DATE_FORMAT_MESSAGE).refine(S.isValidBirthDate,S.BIRTH_DATE_INVALID_MESSAGE)}),P=T.z.object({phone:T.z.string(),surname:T.z.string(),name:T.z.string(),birthDate:T.z.string()}),A=T.z.enum(["none","general","complete","partial","super"]);function R({driverInsuranceEnabled:e=!1}={}){return T.z.object({booker:I,driver:D,insurance:P.optional(),insuranceType:A,passengerCount:T.z.number().int().min(1).max(9),driverSameAsBooker:T.z.boolean(),driverIsForeigner:T.z.boolean(),insuranceSameAsDriver:T.z.boolean(),plusPass:T.z.boolean(),parking:k.parkingSchema,additionalItems:T.z.array(T.z.object({id:T.z.string(),name:T.z.string(),sublabel:T.z.string().optional(),quantity:T.z.number().int().min(0),imagePath:T.z.string().optional(),pricePerDay:T.z.number().optional()})),terms:T.z.object({terms:T.z.boolean(),cancel:T.z.boolean(),rental:T.z.boolean(),privacy:T.z.boolean(),third:T.z.boolean()}).refine(e=>Object.values(e).every(Boolean),{message:"필수 약관에 모두 동의해주세요."})}).superRefine((a,r)=>{if(!e)return;let s=D.safeParse(a.insurance??{});if(!s.success){for(let e of s.error.issues)r.addIssue({code:T.z.ZodIssueCode.custom,message:e.message,path:["insurance",...e.path]});return}})}R();var L=e.i(210556),E=e.i(363968);let F=(0,r.createContext)(null);function B({value:e,children:r}){return(0,a.jsx)(F.Provider,{value:e,children:r})}function O(){let e=(0,r.useContext)(F);if(!e)throw Error("useAdditionalServicesContext 는 AdditionalServicesProvider 내부에서만 사용할 수 있습니다.");return e}var _=e.i(819170),$=e.i(475254);let M=(0,$.default)("trees",[["path",{d:"M10 10v.2A3 3 0 0 1 8.9 16H5a3 3 0 0 1-1-5.8V10a3 3 0 0 1 6 0Z",key:"1l6gj6"}],["path",{d:"M7 16v6",key:"1a82de"}],["path",{d:"M13 19v3",key:"13sx9i"}],["path",{d:"M12 19h8.3a1 1 0 0 0 .7-1.7L18 14h.3a1 1 0 0 0 .7-1.7L16 9h.2a1 1 0 0 0 .8-1.7L13 3l-1.4 1.5",key:"1sj9kv"}]]);var z=e.i(715788),V=e.i(587223);let H=(0,$.default)("tent",[["path",{d:"M3.5 21 14 3",key:"1szst5"}],["path",{d:"M20.5 21 10 3",key:"1310c3"}],["path",{d:"M15.5 21 12 15l-3.5 6",key:"1ddtfw"}],["path",{d:"M2 21h20",key:"1nyx9w"}]]),q=["금연","항균소독","공기청정시스템","후방카메라","후방센서","블랙박스","에어백","4륜구동","후측방경고등","차선이탈방지보조","전방추돌방지","블루투스","열선핸들","열선시트","통풍시트","네비게이션","스마트키","썬루프","어라운드뷰","낚시용품","반려동물"],K=[{id:"terms",label:"돌하루팡 이용약관 (필수)"},{id:"cancel",label:"취소규정 및 수수료 안내 (필수)"},{id:"rental",label:"대여규정 (필수)"},{id:"privacy",label:"개인정보 수집 및 이용약관 (필수)"},{id:"third",label:"수집하는 개인정보의 제3자 제공 (필수)"}],Q=[{id:"light",title:"여행 준비를 가볍게"},{id:"leisure",title:"여정은 여유롭게"}],W=[{id:"baby",label:"유아용품",sublabel:"작은 여행자를 위한 준비",icon:_.Baby,image:"/images/cars/additional/categories/baby.png",group:"light"},{id:"convenience",label:"편의용품",sublabel:"여행을 더 가볍게하는 선택",icon:H,image:"/images/cars/additional/categories/convenience.png",group:"light"},{id:"ticket",label:"시크릿 반값티켓",sublabel:"오직 여기서만 만날 수 있어요",icon:M,image:"/images/cars/additional/categories/ticket-v3.png",group:"leisure"},{id:"delivery",label:"딜리버리",sublabel:"원하는 곳에서 만나는 렌트카",icon:z.Truck,image:"/images/cars/additional/categories/delivery.png",group:"leisure"},{id:"parking",label:"주차대행",sublabel:"주차 걱정 없이 떠나는 여행",icon:V.ParkingCircle,image:"/images/cars/additional/categories/parking-v3.png",group:"leisure"}],U={pickup:0,delivery:0},G={baby:{pickup:[{id:"baby-pickup-v1",name:"유모차친구",address:"제주시 용화로 4길, 10 2층",isLowestPrice:!0},{id:"baby-pickup-v2",name:"키즈렌탈",address:"제주시 연동 123",isLowestPrice:!1}],delivery:[{id:"baby-delivery-v1",name:"차량설치 전문점",address:"제주시 노형동 456",isLowestPrice:!0},{id:"baby-delivery-v2",name:"키즈배송",address:"제주시 연동 789",isLowestPrice:!1}]},convenience:{pickup:[{id:"conv-pickup-v1",name:"편의용품 렌탈",address:"제주시 연동",isLowestPrice:!0},{id:"conv-pickup-v2",name:"캠핑용품샵",address:"제주시 노형동",isLowestPrice:!1}],delivery:[{id:"conv-delivery-v1",name:"휠체어배송센터",address:"제주시 이도동",isLowestPrice:!0}]},ticket:{pickup:[],delivery:[]},delivery:{pickup:[],delivery:[]},parking:{pickup:[],delivery:[]}},Y={baby:{"baby-pickup-v1":{pickup:[{id:"baby-pickup-v1-carrier-1",name:"[신생아] 순성캐리바구니(벨트형) - 매장픽업",sublabel:"일반 대여상품",spec:"2~6개월(10kg까지)",pricePerDay:3500,stock:1,imagePath:"/images/test/additional-service/car-seat.png"},{id:"baby-pickup-v1-stroller-1",name:"유모차 A - 매장픽업",sublabel:"일반 대여상품",spec:"2~6개월(10kg까지)",pricePerDay:5e3,stock:3,imagePath:"/images/test/additional-service/car-seat.png"},{id:"baby-pickup-v1-carseat-1",name:"카시트 1단계 - 매장픽업",sublabel:"일반 대여상품",spec:"2~6개월(10kg까지)",pricePerDay:4e3,stock:2,imagePath:"/images/test/additional-service/car-seat.png"}],delivery:[]},"baby-pickup-v2":{pickup:[{id:"baby-pickup-v2-carseat-1",name:"카시트 2단계 - 매장픽업",sublabel:"키즈렌탈",spec:"만 1~4세",pricePerDay:3800,stock:2,imagePath:"/images/test/additional-service/car-seat.png"},{id:"baby-pickup-v2-stroller-1",name:"유모차 B - 매장픽업",sublabel:"키즈렌탈",spec:"만 1~4세",pricePerDay:4500,stock:2,imagePath:"/images/test/additional-service/car-seat.png"}],delivery:[]},"baby-delivery-v1":{pickup:[],delivery:[{id:"baby-delivery-v1-carrier-1",name:"[신생아] 순성캐리바구니(벨트형) - 차량설치",sublabel:"차량설치 전문점",spec:"2~6개월(10kg까지)",pricePerDay:4e3,stock:2,imagePath:"/images/test/additional-service/car-seat.png"},{id:"baby-delivery-v1-carseat-1",name:"카시트 1단계 - 차량설치",sublabel:"차량설치 전문점",spec:"2~6개월(10kg까지)",pricePerDay:4500,stock:2,imagePath:"/images/test/additional-service/car-seat.png"}]},"baby-delivery-v2":{pickup:[],delivery:[{id:"baby-delivery-v2-carseat-1",name:"카시트 2단계 - 차량설치",sublabel:"키즈배송",spec:"만 1~4세",pricePerDay:4200,stock:2,imagePath:"/images/test/additional-service/car-seat.png"}]}},convenience:{"conv-pickup-v1":{pickup:[{id:"conv-pickup-v1-chair-1",name:"캠핑의자",spec:"일반 대여상품",sublabel:"일반 대여상품",pricePerDay:2e3,stock:5},{id:"conv-pickup-v1-wheelchair-1",name:"휠체어",spec:"일반 대여상품",sublabel:"일반 대여상품",pricePerDay:8e3,stock:2,imagePath:"/images/test/additional-service/car-seat.png"}],delivery:[]},"conv-pickup-v2":{pickup:[{id:"conv-pickup-v2-chair-1",name:"캠핑의자 프리미엄",spec:"일반 대여상품",sublabel:"캠핑용품샵",pricePerDay:2500,stock:3}],delivery:[]},"conv-delivery-v1":{pickup:[],delivery:[{id:"conv-delivery-v1-wheelchair-1",name:"휠체어 - 차량배송",spec:"일반 대여상품",sublabel:"휠체어배송센터",pricePerDay:9e3,stock:2,imagePath:"/images/test/additional-service/car-seat.png"}]}},ticket:{},delivery:{},parking:{}};function J({categoryId:e,pickupType:a,quantities:r}){let s=G[e]?.[a]??[],t=[],i=0,n=0,l=0;
1return s.forEach(s=>{(Y[e]?.[s.id]?.[a]??[]).forEach(s=>{let o=r[s.id]??0;o<=0||(n+=o,l+=(s.pricePerDay??0)*o,t.push({id:`${e}-${a}-${s.id}-${i}`,name:s.name,sublabel:s.sublabel,quantity:o,imagePath:s.imagePath,pricePerDay:s.pricePerDay}),i+=1)})}),{totalQty:n,totalAmount:l,items:t}}var Z=e.i(954616),X=e.i(365504),ee=e.i(254497);function ea(e,a){return`${e}${a}`.trim()}let er={phone:"",surname:"",name:"",birthDate:""};function es(e,a,r){return JSON.stringify([e,a??null,r??null])}var et=e.i(657688),ei=e.i(643531),en=e.i(37727),el=e.i(488844);e.i(140439);var eo=e.i(586263),ec=e.i(401718),ed=e.i(615754),ep=e.i(234473),eu=e.i(377258),em=e.i(242867),eh=e.i(858757),ex=e.i(419727),eg=e.i(107233),ey=e.i(14082),ef=e.i(581887),eb=e.i(584493),ev=e.i(625888),ej=e.i(387365),eN=e.i(7334);function ew({count:e}){return(0,a.jsxs)("div",{className:"absolute -top-[11px] left-1/2 z-10 flex -translate-x-1/2 items-center gap-1.5 whitespace-nowrap rounded-full bg-primary px-2.5 py-1 text-[12px] font-bold leading-none text-ds-white",children:["선택한 상품",(0,a.jsxs)("span",{className:"inline-flex items-center justify-center rounded-full bg-ds-white px-2 py-0.5 text-[11px] font-extrabold leading-none text-primary",children:[e,"개"]})]})}function eC({categoryId:e,pickupType:r,onPickupTypeChange:s,modalQuantities:t,onQuantityChange:i}){return(0,a.jsxs)(ex.SectionWithSrOnlyHeading,{id:"additional-service-dialog-content",title:"부가 서비스 선택",className:"flex flex-col gap-4 bg-brand-bg-gray",children:[(0,a.jsx)("div",{className:"relative w-full",children:(0,a.jsx)("div",{className:"relative aspect-20/13 w-full overflow-hidden",children:(0,a.jsx)(et.default,{src:"delivery"===r?"/images/test/additional-service/delivery-notice.png":"/images/test/additional-service/pickup-notice.png",alt:"delivery"===r?"차량에 설치되는 딜리버리형":"직접 방문하는 매장픽업형",fill:!0,sizes:"(min-width: 1024px) 600px, 100vw",className:"object-cover object-center"})})}),(0,a.jsxs)("div",{className:"flex flex-col gap-6 px-4 py-2 ",children:[(0,a.jsxs)(ej.RadioGroup,{value:r,onValueChange:e=>s(e),className:"flex flex-row gap-8 justify-center","aria-label":"픽업 방식 선택",children:[(0,a.jsxs)(ej.RadioWrapper,{children:[(0,a.jsx)(ej.Radio,{value:"pickup",id:"additional-service-pickup-type-pickup"}),(0,a.jsx)(ej.RadioLabel,{htmlFor:"additional-service-pickup-type-pickup",children:"픽업형"})]}),(0,a.jsxs)(ej.RadioWrapper,{children:[(0,a.jsx)(ej.Radio,{value:"delivery",id:"additional-service-pickup-type-delivery"}),(0,a.jsx)(ej.RadioLabel,{htmlFor:"additional-service-pickup-type-delivery",children:"딜리버리형"})]})]}),(0,a.jsx)("div",{className:"space-y-6",children:(G[e]?.[r]??[]).map(s=>{let n=Y[e]?.[s.id]?.[r]??[];return 0===n.length?null:(0,a.jsxs)("section",{className:"space-y-3","aria-labelledby":`additional-service-vendor-${s.id}`,children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)(N.Typography,{id:`additional-service-vendor-${s.id}`,as:"span",variant:"title-lg-bold",tone:"ds-primary",children:s.name}),s.isLowestPrice&&(0,a.jsx)(eb.Badge,{variant:"fill",className:"bg-brand-yellow text-ds-text-primary",children:"최저가 보장업체 😘"})]}),(0,a.jsxs)(N.Typography,{variant:"body-sm-regular",tone:"ds-primary",children:["주소 : ",s.address]})]}),(0,a.jsx)("ul",{className:"space-y-3",children:n.map(e=>{let s=t[r][e.id]??0,n=s>0,l=e.stock??99,o=!n&&l>0;return(0,a.jsxs)("li",{onClick:o?()=>i(r,e.id,1):void 0,className:(0,ec.cn)("relative rounded-ds-lg border-2 p-4",n?"mt-3 border-primary bg-brand-bg-primary-blue":"border-border bg-background",o&&"cursor-pointer"),children:[n&&(0,a.jsx)(ew,{count:s}),(0,a.jsxs)("div",{className:"flex gap-3.5",children:[(0,a.jsx)("div",{className:"relative h-[88px] w-[88px] shrink-0 overflow-hidden rounded-[10px] bg-ds-white",children:(0,a.jsx)(et.default,{src:e.imagePath??"/images/test/additional-service/car-seat.png",alt:e.name,fill:!0,className:"object-contain object-center",sizes:"88px"})}),(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,a.jsx)(N.Typography,{as:"p",variant:"body-md-bold",tone:"ds-primary",children:e.name}),e.spec&&(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm-regular",tone:"ds-tertiary",className:"mt-1",children:e.spec}),null!=e.pricePerDay&&(0,a.jsxs)("div",{className:"mt-2 flex items-baseline gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-regular",tone:"ds-tertiary",children:"1일"}),(0,a.jsxs)(N.Typography,{as:"span",variant:"title-md",tone:"ds-accent",className:"font-extrabold",children:[e.pricePerDay.toLocaleStr
1ing(),"원"]})]}),l>0&&(0,a.jsxs)(N.Typography,{as:"p",variant:"label-md",tone:"ds-tertiary",className:"mt-0.5",children:[l,"개 남음"]})]})]}),(0,a.jsx)(eN.SectionBar,{weight:"hairline",className:"my-3 bg-ds-border"}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,a.jsxs)(N.Typography,{as:"span",variant:"body-md-regular",tone:"ds-primary",children:["수량 선택"," ",(0,a.jsxs)("span",{className:"font-extrabold text-primary",children:[s,"개"]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2.5",onClick:e=>e.stopPropagation(),children:[l>0&&(0,a.jsxs)(eb.Badge,{variant:"fill",className:"w-fit bg-brand-bg-pink text-ds-text-tertiary",children:[l,"개 남음"]}),(0,a.jsx)(ev.QuantityPicker,{size:"sm",quantity:s,onChange:a=>i(r,e.id,a),max:l})]})]})]},e.id)})})]},s.id)})})]})]})}function ek(){return(0,a.jsxs)("div",{className:"flex h-10 items-center justify-center gap-2 rounded-xl border border-[#34d058] bg-[#e6f9ed] px-4",children:[(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",width:"18",height:"18",fill:"#1a7f37",className:"shrink-0","aria-hidden":!0,children:(0,a.jsx)("path",{d:"M321.5 68.8C329.1 55.9 342.9 48 357.8 48l2.2 0c22.1 0 40 17.9 40 40s-17.9 40-40 40l-73.3 0 34.8-59.2zm-131 0l34.8 59.2-73.3 0c-22.1 0-40-17.9-40-40s17.9-40 40-40l2.2 0c14.9 0 28.8 7.9 36.3 20.8zm89.6-24.3l-24.1 41-24.1-41C215.7 16.9 186.1 0 154.2 0L152 0c-48.6 0-88 39.4-88 88 0 14.4 3.5 28 9.6 40L32 128c-17.7 0-32 14.3-32 32l0 32c0 17.7 14.3 32 32 32l448 0c17.7 0 32-14.3 32-32l0-32c0-17.7-14.3-32-32-32l-41.6 0c6.1-12 9.6-25.6 9.6-40 0-48.6-39.4-88-88-88l-2.2 0c-31.9 0-61.5 16.9-77.7 44.4zM480 272l-200 0 0 208 136 0c35.3 0 64-28.7 64-64l0-144zm-248 0l-200 0 0 144c0 35.3 28.7 64 64 64l136 0 0-208z"})}),(0,a.jsxs)("span",{className:"text-[15px] tracking-[-0.04em]",children:[(0,a.jsx)("span",{className:"font-normal text-ds-black",children:"라온카시트 제품은"})," ",(0,a.jsx)("span",{className:"font-extrabold text-[#1a7f37]",children:"1일 요금 즉시 할인 혜택"})]})]})}var eT=e.i(168118);e.i(765618);var eS=e.i(147564);let eI="delivery";function eD({companyId:e,startDate:s,pickupType:t,modalQuantities:n,onQuantityChange:l}){let{data:o,isLoading:c,isError:p}=(0,i.useQuery)({...d.carsQueries.additionalProducts.carDelivery({companyId:e,startDate:s}),enabled:!!e&&!!s}),{setPendingApiItems:u,selectedItems:m}=O(),[h,x]=r.useState(!1),g=r.useRef(!1);if(r.useEffect(()=>{if(g.current)return;g.current=!0;let e=m.find(e=>e.sourceCategory===eI);e?.sourcePickupType&&e.sourceItemId&&l(e.sourcePickupType,e.sourceItemId,e.quantity)},[]),r.useEffect(()=>{let e=n[t]??{},a=[];for(let r of o?.items??[])for(let s of r.products){let i=e[s.productId]??0;i<=0||a.push({id:`${eI}-${t}-${s.productId}`,name:s.name,sublabel:s.description,quantity:i,pricePerDay:s.pricing.priceSale,sourceCategory:eI,sourcePickupType:t,sourceItemId:s.productId,sourceCompanyId:r.companyId,sourceProductId:s.productId,sourceProductName:s.name,sourceVendorName:r.companyName})}u(a)},[t,n,o,u]),c)return(0,a.jsx)("div",{className:"flex min-h-[240px] items-center justify-center px-4 py-10","aria-busy":!0,"aria-label":"로딩 중",children:(0,a.jsx)(j.BrandSpinner,{label:"딜리버리 정보를 불러오고 있어요"})});if(p||!o)return(0,a.jsx)("div",{className:"px-4 py-10 text-center",children:(0,a.jsx)(N.Typography,{as:"p",variant:"body",tone:"danger",children:"딜리버리 정보를 불러오지 못했어요. 잠시 후 다시 시도해 주세요."})});let y=Object.entries(n[t]??{}).find(([,e])=>e>0)?.[0]??"";return(0,a.jsxs)(ex.SectionWithSrOnlyHeading,{id:"car-delivery-dialog-content",title:"차량 배달 지점 선택",className:"flex flex-col bg-brand-bg-gray",children:[(0,a.jsx)("div",{className:"relative w-full",children:(0,a.jsx)("div",{className:"relative aspect-20/13 w-full overflow-hidden",children:(0,a.jsx)(et.default,{src:"/images/cars/parking/delivery.png",alt:"인수차량대행 딜리버리 서비스 안내",fill:!0,sizes:"(min-width: 1024px) 600px, 100vw",className:"object-cover object-center",priority:!0})})}),(0,a.jsxs)("div",{className:"flex flex-col gap-6 px-4 py-2",children:[(0,a.jsxs)("div",{className:"flex flex-col items-center gap-1",children:[(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm-regular",tone:"brand-error",className:"text-center underline underline-offset-2",children:"차량 인수 1일 전 해피콜이 진행됩니다."}),(0,a.jsxs)(N.Typography,{as:"p",variant:"body-sm-regular",tone:"brand-error",className:"text-center",children:["2일 이내 임박건의 경우 직접 연락주셔야 합니다.",(0,a.jsx)("br",{}),"문의처 1544-8405"]}),(0,a.jsx)(ed.Button,{shape:"plain",type:"button",onClick:()=>x(!0),children:(0,a.jsxs)(N.Typography,{as:"span",variant:"body-sm-bold",tone:"ds-accent",className:"flex items-center gap-1",children:[(0,a.jsx)(eT.InfoIcon,{className:"h-4 w-4","aria-hidden":!0})," 상품 구매전 필독"]})})]}),(0,a.jsx)(ej.RadioGroup,{value:y,onValueChange:e=>{Object.keys(n[t]??{}
1).forEach(a=>{a!==e&&l(t,a,0)}),l(t,e,1)},className:"flex flex-col gap-6","aria-label":"차량 배달 지점",children:o.items.map(e=>(0,a.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,a.jsx)(N.Typography,{as:"p",variant:"title-lg-bold",tone:"ds-primary",children:e.companyName}),(0,a.jsx)("div",{className:"flex flex-col gap-2",children:e.products.map(e=>{let r=y===e.productId;return(0,a.jsxs)(ej.RadioWrapper,{className:(0,ec.cn)("items-stretch gap-0 overflow-hidden rounded-ds-lg border bg-ds-white",r?"border-primary":"border-border"),children:[(0,a.jsx)(ej.Radio,{value:e.productId,id:`car-delivery-${e.productId}`,className:"sr-only"}),(0,a.jsxs)(ej.RadioLabel,{htmlFor:`car-delivery-${e.productId}`,className:"flex flex-1 cursor-pointer flex-col font-normal",children:[(0,a.jsxs)("span",{className:"flex items-center justify-between gap-4 px-5 py-6",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body-md-bold",tone:"ds-primary",children:e.name}),(0,a.jsxs)(N.Typography,{as:"span",variant:"body-md-bold",tone:"ds-primary",className:"shrink-0",children:[e.pricing.priceSale.toLocaleString(),"원"]})]}),e.description&&(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-regular",tone:"ds-tertiary",className:"border-t border-border px-5 py-4",children:e.description})]})]},e.productId)})})]},e.companyId))})]}),(0,a.jsx)(eS.BoardDetailDialog,{open:h,onOpenChange:x,boardId:"artc_0069c0d04ad9dcb",label:"상품 구매전 필독"})]})}function eP(){return{exceptional:new Set,normal:new Set}}function eA(e,a){return a?e.exceptional:e.normal}function eR(e){return e.deliveryType.startsWith("delivery")?"delivery":"pickup"}function eL(e){return`${e.firmId}_${e.modelId}`}function eE({quantity:e}){let[s,t]=r.useState(!1);return(r.useEffect(()=>{if(e<3)return void t(!1);t(!0);let a=setTimeout(()=>t(!1),3e3);return()=>clearTimeout(a)},[e]),s)?(0,a.jsx)("div",{className:"pointer-events-none fixed inset-0 z-toast flex items-center justify-center px-8",children:(0,a.jsxs)(eu.InlineNotice,{tone:"warning",role:"alert",className:"pointer-events-auto max-w-[320px] animate-in fade-in-0 zoom-in-95 border border-ds-warning/30 bg-ds-white text-center shadow-lg",children:["카시트를 3개 이상 선택하셨어요! ",(0,a.jsx)("br",{})," 차량에 장착 가능한지 다시 한번 확인해주세요."]})}):null}function eF({modelType:e,companyId:s,packageGroupId:t,startDate:n,endDate:l,pickupType:o,onPickupTypeChange:c,modalQuantities:p,onQuantityChange:u,forceDelivery:m=!1}){var h,x,g;let{data:y,isLoading:f,isError:b}=(0,i.useQuery)({...d.carsQueries.additionalProducts.items({startDate:n,endDate:l,sortBy:"age",modelType:e,deliveryType:["pickup","delivery"],companyId:s,packageGroupId:t}),enabled:!!s&&!!t&&!!n}),{setPendingApiItems:v,selectedItems:w,setHasPromotionItems:C}=O(),k="buggy"===e?"baby":"convenience",T="baby"===k,S=r.useRef(!1);r.useEffect(()=>{if(S.current)return;S.current=!0;let e=w.filter(e=>e.sourceCategory===k);if(0===e.length){m||"pickup"===o||c("pickup");return}let a=e[0].sourcePickupType;for(let r of(a&&a!==o&&c(a),e))r.sourcePickupType&&r.sourceItemId&&u(r.sourcePickupType,r.sourceItemId,r.quantity)},[]);let I=r.useCallback((e,a,r)=>{u(e,a,r)},[u]),D=r.useCallback(e=>{e!==o&&c(e)},[o,c]);if(r.useEffect(()=>{m&&"delivery"!==o&&D("delivery")},[m,o,D]),r.useEffect(()=>{let a=[];for(let r of["pickup","delivery"]){let t=p[r]??{};for(let i of y?.items??[])for(let n of i.offers){if(eR(n)!==r)continue;let l=eL(n),o=t[l]??0;o<=0||a.push({id:`${e}-${r}-${l}`,name:n.name,quantity:o,pricePerDay:n.pricing.salePrice,imagePath:n.imageUrl,sourceCategory:k,sourcePickupType:r,sourceItemId:l,sourceCompanyId:s,sourceVendorId:i.companyId,sourceExceptionalSelect:!0===n.exceptionalSelect,sourceVendorName:i.name||i.companyName||"",sourceVendorAddress:i.address??"",sourceFirmId:n.firmId,sourceModelId:n.modelId,sourceItemCategory:n.category})}}v(a)},[e,p,y,v,k,s]),r.useEffect(()=>{C(T&&(y?.items??[]).some(e=>!0===e.hasPromotion))},[y,T,C]),f)return(0,a.jsx)("div",{className:"flex min-h-[240px] items-center justify-center px-4 py-10","aria-busy":!0,"aria-label":"로딩 중",children:(0,a.jsx)(j.BrandSpinner,{label:"상품 목록을 불러오고 있어요"})});if(b||!y)return(0,a.jsx)("div",{className:"px-4 py-10 text-center",children:(0,a.jsx)(N.Typography,{as:"p",variant:"body",tone:"danger",children:"상품 목록을 불러오지 못했어요. 잠시 후 다시 시도해 주세요."})});let P=(h=y.items,h.map(e=>({...e,offers:e.offers.filter(e=>eR(e)===o)})).filter(e=>e.offers.length>0)),A=eP();for(let e of y?.items??[])for(let a of e.offers){let r=eL(a);((p.pickup[r]??0)>0||(p.delivery[r]??0)>0)&&(x=e.companyId,eA(A,!0===a.exceptionalSelect).add(x))}let R=eP();for(let e of w)("baby"===e.sourceCategory||"convenience"===e.sourceCategory)&&e.sourceCategory!==k&&e.sourceVendorId&&(g=e.sourceVendorId,eA(R,!0===e.s
1ourceExceptionalSelect).add(g));let L=P.flatMap(e=>e.offers).filter(e=>e.category?.includes("카시트")).reduce((e,a)=>e+(p[o][eL(a)]??0),0);return(0,a.jsxs)(ex.SectionWithSrOnlyHeading,{id:"cars-additional-items-dialog-content",title:"buggy"===e?"유아용품 선택":"편의용품 선택",className:"flex flex-col bg-brand-bg-gray",children:[(0,a.jsx)("div",{className:"relative -mx-px w-[calc(100%+2px)]",children:(0,a.jsx)("div",{className:"relative aspect-20/13 w-full overflow-hidden",children:(0,a.jsx)(et.default,{src:"buggy"===e?"delivery"===o?"/images/cars/additional/buggy-delivery.png":"/images/cars/additional/buggy-pickup.png":"delivery"===o?"/images/cars/additional/convenience-delivery.png":"/images/cars/additional/convenience-pickup.png",alt:"delivery"===o?"차량에 설치되는 딜리버리형":"직접 방문하는 매장픽업형",fill:!0,sizes:"(min-width: 1024px) 600px, 100vw",className:"object-cover object-center"})})}),(0,a.jsxs)("div",{className:"flex flex-col gap-6 px-4 py-4",children:[(0,a.jsxs)(ej.RadioGroup,{value:o,onValueChange:e=>{m&&"pickup"===e||D(e)},className:"flex flex-row gap-8 justify-center","aria-label":"수령 방식 선택",children:[(0,a.jsxs)(ej.RadioWrapper,{className:"rounded-ds-sm px-2 py-1",onClick:()=>{m||D("pickup")},children:[(0,a.jsx)(ej.Radio,{value:"pickup",id:"cars-additional-items-pickup",disabled:m}),(0,a.jsx)(ej.RadioLabel,{htmlFor:"cars-additional-items-pickup",className:m?"text-ds-text-disabled":void 0,children:"픽업형"})]}),(0,a.jsxs)(ej.RadioWrapper,{className:"rounded-ds-sm px-2 py-1",onClick:()=>D("delivery"),children:[(0,a.jsx)(ej.Radio,{value:"delivery",id:"cars-additional-items-delivery"}),(0,a.jsx)(ej.RadioLabel,{htmlFor:"cars-additional-items-delivery",children:"딜리버리형"})]})]}),"convenience"===k&&"pickup"===o?(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm-regular",tone:"ds-error",align:"center",children:"여행렌탈 매장으로 방문 픽업 하는 상품입니다."}):null,"convenience"===k&&"delivery"===o?(0,a.jsxs)(N.Typography,{as:"p",variant:"body-sm-regular",tone:"ds-error",align:"center",children:["편의용품은 카시트,유모차와 함께 구매 시",(0,a.jsx)("br",{}),"딜리버리 가능합니다."]}):null,(0,a.jsx)(eE,{quantity:L}),0===P.length&&(0,a.jsx)(N.Typography,{as:"p",variant:"body",tone:"muted",align:"center",children:"선택하신 수령 방식으로 가능한 상품이 없어요."}),(0,a.jsx)("div",{className:"space-y-6",children:P.map(e=>(0,a.jsxs)("section",{className:"space-y-3","aria-labelledby":`cars-additional-items-company-${e.companyId}`,children:[(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)(N.Typography,{id:`cars-additional-items-company-${e.companyId}`,as:"span",variant:"title-lg-bold",tone:"ds-primary",children:e.name||e.companyName}),(0,a.jsx)(eb.Badge,{variant:"fill",className:"bg-brand-yellow text-ds-text-primary",children:"최저가 보장업체 😘"})]}),"pickup"===o?(0,a.jsxs)(N.Typography,{as:"p",variant:"body-sm-regular",tone:"ds-error",className:"block",children:["주소 : ",e.address]}):null]}),(0,a.jsx)("ul",{className:"space-y-3",children:e.offers.map(r=>{let s=eL(r),t=p[o][s]??0,i=t>0,n=(({companyVendorId:e,offer:a,isSelected:r})=>(function({companyVendorId:e,exceptionalSelect:a,isSelected:r,modalSelectedVendors:s,externalSelectedVendors:t}){if(r)return!1;let i=new Set([...eA(s,a),...eA(t,a)]);return i.size>0&&!i.has(e)})({companyVendorId:e,exceptionalSelect:!0===a.exceptionalSelect,isSelected:r,modalSelectedVendors:A,externalSelectedVendors:R}))({companyVendorId:e.companyId,offer:r,isSelected:i}),l=!i&&!n&&r.availableQuantity>0;return(0,a.jsxs)("li",{onClick:l?()=>I(o,s,1):void 0,className:(0,ec.cn)("relative rounded-[14px] border-2 p-4",i?"mt-3 border-primary bg-brand-bg-primary-blue":"border-[#e5e5ea] bg-background",n&&"opacity-50",l&&"cursor-pointer"),children:[i&&(0,a.jsx)(ew,{count:t}),n?(0,a.jsx)(N.Typography,{as:"p",variant:"caption",tone:"ds-muted",className:"mb-2",children:eA(R,!0===r.exceptionalSelect).size>0?"이미 선택한 외부 업체와 같은 회사만 선택할 수 있어요.":"이 모달에서는 같은 업체 상품만 선택할 수 있어요."}):null,T&&!0===e.hasPromotion?(0,a.jsx)("span",{className:"mb-2 inline-flex h-[22px] shrink-0 items-center rounded-[4px] bg-[#1a7f37] px-1.5 text-[12px] font-bold tracking-[-0.04em] text-ds-white",children:"1일 무료"}):null,(0,a.jsxs)("div",{className:"flex gap-3.5",children:[(0,a.jsx)("div",{className:"relative h-[88px] w-[88px] shrink-0 overflow-hidden rounded-[10px] border-[1.5px] border-dashed border-black/25 bg-black/[0.04]",children:(0,a.jsx)(et.default,{src:r.imageUrl,alt:r.name,fill:!0,sizes:"88px",className:"object-contain object-center"})}),(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,a.jsx)(N.Typography,{as:"p",variant:"body-md-bold",tone:"ds-primary",children:r.name}),r.description&&(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm-regular",tone:"ds-tertiary",className:"mt-1",children:r.description}),(0,a.jsxs)("div",{className:"mt-2 flex items-baseline gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-regular",tone:"ds-tertiary",children:"1일"}),(0,a.jsxs)(N.Typography,{as:"span",variant:"title-md",tone:"ds-accent",className:"font-extrabold",children:[r.pricing.salePrice.toLocaleStr
1ing(),"원"]})]}),(0,a.jsxs)(N.Typography,{as:"p",variant:"label-md",tone:"ds-tertiary",className:"mt-0.5",children:[r.availableQuantity,"개 남음"]})]})]}),(0,a.jsx)(eN.SectionBar,{weight:"hairline",className:"my-3"}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,a.jsxs)(N.Typography,{as:"span",variant:"body-sm",tone:"ds-primary",className:"font-semibold",children:["수량 선택"," ",(0,a.jsxs)("span",{className:"font-extrabold text-primary",children:[t,"개"]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2.5",onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)(eb.Badge,{variant:"fill",className:"bg-brand-bg-pink text-ds-text-tertiary",children:[r.availableQuantity,"개 남음"]}),(0,a.jsx)(ev.QuantityPicker,{size:"sm",quantity:t,min:0,max:n?0:r.availableQuantity,onChange:e=>I(o,s,e)})]})]})]},`${r.firmId}-${r.modelId}`)})})]},e.companyId))})]})]})}var eB=e.i(787719),eO=e.i(62765),e_=e.i(302801);let e$="ticket";function eM({pickupType:e,modalQuantities:s,onQuantityChange:t}){let{data:n,isLoading:l,isError:o}=(0,i.useQuery)(d.carsQueries.additionalProducts.plusPass()),[c,p]=r.useState(null),{setPendingApiItems:u,selectedItems:m}=O(),h=r.useRef(!1);return(r.useEffect(()=>{if(!h.current)for(let e of(h.current=!0,m.filter(e=>e.sourceCategory===e$)))e.sourcePickupType&&e.sourceItemId&&t(e.sourcePickupType,e.sourceItemId,e.quantity)},[]),r.useEffect(()=>{let a=s[e]??{},r=[];for(let s of n?.items??[])for(let t of s.offers){let i=a[t.offerId]??0;i<=0||r.push({id:`${e$}-${e}-${t.offerId}`,name:t.name,sublabel:s.companyName,quantity:i,pricePerDay:t.pricing.priceSale,imagePath:t.image,sourceCategory:e$,sourcePickupType:e,sourceItemId:t.offerId,sourceCompanyId:s.companyId,sourceProductId:t.productId,sourceProductName:t.name,sourceOriginalPrice:t.pricing.priceOrigin})}u(r)},[e,s,n,u]),l)?(0,a.jsx)("div",{className:"flex min-h-[240px] items-center justify-center px-4 py-10","aria-busy":!0,"aria-label":"로딩 중",children:(0,a.jsx)(j.BrandSpinner,{label:"단독티켓 정보를 불러오고 있어요"})}):o||!n?(0,a.jsx)("div",{className:"px-4 py-10 text-center",children:(0,a.jsx)(N.Typography,{as:"p",variant:"body",tone:"danger",children:"단독티켓 정보를 불러오지 못했어요. 잠시 후 다시 시도해 주세요."})}):(0,a.jsxs)(ex.SectionWithSrOnlyHeading,{id:"plus-pass-dialog-content",title:"단독티켓 선택",className:"flex flex-col gap-6 bg-brand-bg-gray",children:[n.banners.length>0&&(0,a.jsx)(eO.Carousel,{opts:{loop:n.banners.length>1,align:"start"},children:(0,a.jsx)(e_.CarouselContent,{children:n.banners.map((e,r)=>{let s=e.companyInfoImages[0];return s?(0,a.jsx)(e_.CarouselItem,{children:(0,a.jsx)("button",{type:"button",onClick:()=>p(e.companyInfoImages),className:"relative block aspect-20/13 w-full overflow-hidden bg-ds-bg-card","aria-label":"업체 안내 이미지 보기",children:(0,a.jsx)(et.default,{src:s,alt:"단독티켓 업체 썸네일",fill:!0,sizes:"(min-width: 1024px) 600px, 100vw",className:"object-cover object-center"})})},`${s}-${r}`):null})})}),(0,a.jsx)("div",{className:"flex flex-col gap-6 px-4 pb-2",children:n.items.map(r=>(0,a.jsxs)("section",{className:"flex flex-col gap-3","aria-labelledby":`plus-pass-company-${r.companyId}`,children:[(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)(N.Typography,{id:`plus-pass-company-${r.companyId}`,as:"span",variant:"title-lg-bold",tone:"ds-primary",children:r.companyName}),(0,a.jsx)(eb.Badge,{variant:"fill",className:"bg-brand-yellow text-ds-text-primary",children:"돌하루팡 단독 😘"})]}),(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm-regular",tone:"ds-error",children:r.address})]}),(0,a.jsx)("ul",{className:"flex flex-col gap-3",children:r.offers.map(r=>{let i=s[e][r.offerId]??0,n=i>0,l=!n;return(0,a.jsxs)("li",{onClick:l?()=>t(e,r.offerId,1):void 0,className:(0,ec.cn)("relative rounded-ds-lg border-2",n?"mt-3 border-ds-primary bg-brand-bg-primary-blue":"border-ds-border bg-ds-white",l&&"cursor-pointer"),children:[n&&(0,a.jsx)(ew,{count:i}),(0,a.jsx)("div",{className:"relative aspect-740/480 w-full overflow-hidden rounded-t-[10px] bg-ds-bg-card",children:(0,a.jsx)(et.default,{src:r.image,alt:r.name,fill:!0,sizes:"(min-width: 1024px) 600px, 100vw",className:"object-cover object-center"})}),(0,a.jsxs)("div",{className:"flex flex-col gap-3 p-4",children:[(0,a.jsx)(N.Typography,{as:"p",variant:"body-md-bold",tone:"ds-primary",children:r.name}),(0,a.jsxs)("div",{className:"flex items-baseline justify-end gap-2",children:[(0,a.jsxs)(N.Typography,{as:"span",variant:"body-sm-regular",tone:"ds-muted",className:"line-through",children:[r.pricing.priceOrigin.toLocaleStr
1ing(),"원"]}),(0,a.jsxs)(N.Typography,{as:"span",variant:"title-md",tone:"ds-accent",className:"font-bold",children:[r.pricing.priceSale.toLocaleString(),"원"]})]}),(0,a.jsx)(eN.SectionBar,{weight:"hairline"}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,a.jsxs)(N.Typography,{as:"span",variant:"body-md-regular",tone:"ds-primary",children:["수량 선택"," ",(0,a.jsxs)("span",{className:"font-extrabold text-primary",children:[i,"개"]})]}),(0,a.jsx)("div",{onClick:e=>e.stopPropagation(),children:(0,a.jsx)(ev.QuantityPicker,{variant:"compact",quantity:i,min:0,max:99,onChange:a=>t(e,r.offerId,a)})})]})]})]},r.offerId)})})]},r.companyId))}),(0,a.jsx)(ey.Dialog,{open:null!==c,onOpenChange:e=>{e||p(null)},children:(0,a.jsxs)(ey.DialogContentFullscreen,{className:"flex flex-col p-0 md:max-w-[700px]",children:[(0,a.jsx)(ey.DialogFullscreenHeader,{title:"업체 소개 이미지",closeAriaLabel:"안내 닫기"}),(0,a.jsx)(ey.DialogScrollBody,{className:"min-h-0 flex-1 space-y-3 overflow-y-auto px-4 py-6",children:c?.map((e,r)=>(0,a.jsx)("div",{className:"w-full overflow-hidden bg-ds-bg-card",children:(0,a.jsx)("img",{src:e,alt:`안내 이미지 ${r+1}`,loading:"lazy",decoding:"async",className:"block h-auto w-full"})},e))}),(0,a.jsx)("div",{className:"shrink-0 border-t border-border bg-transparent px-4 py-4",children:(0,a.jsx)(ed.Button,{type:"button",size:"cta-48",className:"w-full",onClick:()=>p(null),children:"확인"})})]})})]})}function ez({pickupLocations:e}){return(0,a.jsxs)("div",{className:"flex flex-col gap-3 text-center",children:[(0,a.jsxs)(N.Typography,{as:"p",variant:"body-md-bold",tone:"ds-primary",className:"leading-relaxed text-center",children:["선택하신 유아/편의용품은 제주에서",(0,a.jsx)("br",{})," 가장 저렴한 가격으로"," ",(0,a.jsx)(N.Typography,{as:"span",variant:"body-md-bold",tone:"tomato-red",children:"매장 방문"}),"하여 편하게 이용하세요."]}),e&&e.length>0?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eN.SectionBar,{weight:"hairline"}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm-bold",tone:"ds-primary",className:"text-center",children:"픽업장소"}),(0,a.jsx)("div",{className:"space-y-1",children:e.map(e=>(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm-regular",tone:"ds-primary",className:"leading-relaxed text-center",children:e},e))})]})]}):null,(0,a.jsx)(eN.SectionBar,{weight:"hairline"}),(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm-regular",tone:"ds-tertiary",className:"leading-relaxed text-center",children:"안전하고 행복한 여정을 기원합니다!"})]})}function eV({open:e,onOpenChange:r,onConfirm:s,pickupLocations:t}){return(0,a.jsx)(v.ConfirmDialog,{open:e,onOpenChange:r,heading:"꼭 확인해주세요!",title:"매장 방문 안내",content:(0,a.jsx)(ez,{pickupLocations:t}),cancelLabel:"돌아가기",confirmLabel:"예약하기",confirmTone:"danger",onConfirm:s})}function eH(){return(0,a.jsxs)("div",{className:"flex flex-col gap-4 text-center",children:[(0,a.jsxs)(N.Typography,{as:"p",variant:"body-md",tone:"ds-secondary",className:"leading-relaxed",children:["렌트카 딜리버리 이용시,",(0,a.jsx)("br",{}),"선택하신 유아용품(딜리버리형/픽업형) 장착이",(0,a.jsx)("br",{}),"상황에 따라 원활하지 않을 수 있습니다."]}),(0,a.jsxs)(N.Typography,{as:"p",variant:"body-md-bold",tone:"ds-primary",className:"leading-relaxed",children:["보다 안전하고 빠른 이용을 위해 유아용품 이용시",(0,a.jsx)("br",{}),"렌트카 딜리버리 상품 이용을 신중히 선택해주세요 :)"]}),(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm-regular",tone:"ds-tertiary",className:"leading-relaxed",children:"항상 고객님의 편의를 위해 최선을 다하겠습니다!"})]})}function eq({startDate:e,endDate:t,companyId:i,packageGroupId:n,isStartDateHoliday:l=!1}){let{openCategoryId:o,openCategoryLabel:c,closeModal:d,pickupType:p,setPickupType:u,modalQuantities:m,setModalQuantity:h,confirmModalItems:x,getModalSummary:g,selectedItems:y,hasPromotionItems:f}=O(),[b,j]=r.useState(!1);r.useEffect(()=>j(!0),[]);
1let w="parking"===o,C=g(),{getValues:T,watch:S}=(0,s.useFormContext)(),I=S("parking.totalAmount"),[D,P]=r.useState([]),[A,R]=r.useState(!1),[L,E]=r.useState(!1),[F,B]=r.useState(!1),_="baby"===o||"convenience"===o,$=_&&C.items.some(e=>"pickup"===e.sourcePickupType),M=_||"ticket"===o,z=y.some(e=>"baby"===e.sourceCategory),V=Array.from(new Set(C.items.map(e=>[e.sourceVendorName,e.sourceVendorAddress].filter(Boolean).join("-")).filter(Boolean))),H=w&&I||C.totalAmount,q=()=>{x(w?{parkingTotalAmount:I>0?I:void 0}:void 0)},K="parking"===o?"추가 요청 사항":null===o?c:W.find(e=>e.id===o)?.label??"추가 요청 사항";return(0,a.jsxs)(ey.Dialog,{open:null!==o,onOpenChange:e=>{e||d()},children:[(0,a.jsxs)(ey.DialogContentFullscreen,{className:(0,ec.cn)("flex flex-col bg-brand-bg-gray md:h-[80vh] md:max-w-[400px] md:border-0",F&&"invisible"),overlayClassName:F?"invisible":void 0,hideCloseButton:!0,children:[(0,a.jsx)(ey.DialogFullscreenHeader,{title:K}),(0,a.jsxs)(ey.DialogScrollBody,{className:"min-h-0 flex-1 overflow-y-auto [scrollbar-gutter:auto]",children:[b&&"parking"===o&&(0,a.jsx)(eB.ParkingValetDialogContent,{airportMode:p,onAirportChange:u,startDate:e,endDate:t,onDateDialogOpenChange:B}),b&&"ticket"===o&&(0,a.jsx)(eM,{pickupType:p,modalQuantities:m,onQuantityChange:h}),b&&"delivery"===o&&(0,a.jsx)(eD,{companyId:i,startDate:e,pickupType:p,modalQuantities:m,onQuantityChange:h}),b&&("baby"===o||"convenience"===o)&&(0,a.jsx)(eF,{modelType:"baby"===o?"buggy":"convenience",companyId:i,packageGroupId:n,startDate:e,endDate:t,pickupType:p,onPickupTypeChange:u,modalQuantities:m,onQuantityChange:h,forceDelivery:"baby"===o&&l}),o&&"parking"!==o&&"ticket"!==o&&"delivery"!==o&&"baby"!==o&&"convenience"!==o&&(0,a.jsx)(eC,{categoryId:o,pickupType:p,onPickupTypeChange:u,modalQuantities:m,onQuantityChange:h})]}),(0,a.jsxs)(ef.DialogFooter,{className:"shrink-0 w-full flex-col gap-3 border-t border-border px-4 py-4 bg-white sm:flex-col sm:justify-stretch sm:space-x-0",children:["parking"===o&&(0,a.jsxs)("div",{className:"flex items-center justify-center gap-3",children:[(0,a.jsx)(N.Typography,{variant:"body-md-bold",tone:"ds-primary",className:"text-center",children:"주차대행 금액"}),(0,a.jsxs)(N.Typography,{variant:"heading-md",tone:"ds-accent",className:"text-center",children:[H.toLocaleString(),"원"]})]}),"baby"===o&&f&&(0,a.jsx)(ek,{}),(0,a.jsx)(ed.Button,{type:"button",size:"cta-48",className:"w-full gap-2",onClick:o?()=>{if(o){if(w){let e=(0,k.getParkingValidationMessages)(T("parking"));if(e.length>0)return void P(e)}if($)return void R(!0);if("delivery"===o&&z)return void E(!0);q()}}:void 0,disabled:!o||0===C.totalQty,leftIcon:C.totalQty>0?(0,a.jsx)(eg.Plus,{className:"h-5 w-5","aria-hidden":!0}):void 0,children:M&&C.totalQty>0?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("span",{className:"text-[#fef35d]",children:[C.totalQty,"개"]})," 상품 추가하기"]}):"parking"===o?"주차대행 추가하기":"선택상품 추가하기"})]})]}),(0,a.jsx)(v.ConfirmDialog,{open:D.length>0,onOpenChange:e=>{e||P([])},title:D[0]??""}),(0,a.jsx)(eV,{open:A,onOpenChange:R,onConfirm:q,pickupLocations:V}),(0,a.jsx)(v.ConfirmDialog,{open:L,onOpenChange:E,heading:"🚗 조금 더 편리한 이용을 위해 안내드립니다!",title:"유아용품 딜리버리 이용 안내",content:(0,a.jsx)(eH,{}),confirmLabel:"확인",onConfirm:q})]})}function eK(){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",width:"15",height:"15",fill:"currentColor",className:"shrink-0","aria-hidden":!0,children:(0,a.jsx)("path",{d:"M321.5 68.8C329.1 55.9 342.9 48 357.8 48l2.2 0c22.1 0 40 17.9 40 40s-17.9 40-40 40l-73.3 0 34.8-59.2zm-131 0l34.8 59.2-73.3 0c-22.1 0-40-17.9-40-40s17.9-40 40-40l2.2 0c14.9 0 28.8 7.9 36.3 20.8zm89.6-24.3l-24.1 41-24.1-41C215.7 16.9 186.1 0 154.2 0L152 0c-48.6 0-88 39.4-88 88 0 14.4 3.5 28 9.6 40L32 128c-17.7 0-32 14.3-32 32l0 32c0 17.7 14.3 32 32 32l448 0c17.7 0 32-14.3 32-32l0-32c0-17.7-14.3-32-32-32l-41.6 0c6.1-12 9.6-25.6 9.6-40 0-48.6-39.4-88-88-88l-2.2 0c-31.9 0-61.5 16.9-77.7 44.4zM480 272l-200 0 0 208 136 0c35.3 0 64-28.7 64-64l0-144zm-248 0l
1-200 0 0 144c0 35.3 28.7 64 64 64l136 0 0-208z"})})}function eQ({onClick:e,title:r,contents:s}){return(0,a.jsxs)("button",{type:"button",onClick:e,className:"flex w-full cursor-pointer items-center justify-center gap-3 rounded-lg border border-[#34d058] bg-[#e6f9ed] px-4 py-3.5",children:[(0,a.jsxs)("span",{className:"relative h-[45px] w-[45px] shrink-0 overflow-hidden rounded-md",children:[(0,a.jsx)(et.default,{src:"/images/cars/additional/carseat-stroller.png",alt:"",width:90,height:90,className:"h-full w-full object-cover","aria-hidden":!0}),(0,a.jsx)("span",{className:"absolute bottom-px right-px rounded-[2px] bg-[#1a7f37] px-[3px] py-px text-[8px] font-bold leading-[1.3] text-ds-white",children:"0원"})]}),(0,a.jsxs)("span",{className:"flex min-w-0 flex-col items-center gap-1 text-center",children:[(0,a.jsxs)("span",{className:"flex items-center gap-[5px] text-[15px] font-extrabold leading-[1.3] tracking-[-0.6px] text-[#1a7f37]",children:[(0,a.jsx)(eK,{}),r]}),(0,a.jsx)("span",{className:"text-[12px] font-medium leading-[1.3] tracking-[-0.48px] text-[#495057]",children:s})]})]})}let eW=["6개월 미만","12개월 미만","15개월 미만","15개월 이상"];function eU({item:e,onChange:r}){let s=Array.from({length:e.quantity},(a,r)=>e.itemOptions?.[r]??{ageText:eW[0],backView:!1}),t="카시트-뒤보기불가"===e.sourceItemCategory||e.name.includes("주니어"),i=(e,a)=>{r(s.map((r,s)=>s===e?{...r,...a}:r))};return(0,a.jsx)("div",{className:"flex flex-col gap-2",children:s.map((e,r)=>(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)(N.Typography,{as:"span",variant:"label-md",tone:"ds-tertiary",className:"w-4 shrink-0 tabular-nums",children:[r+1," :"]}),(0,a.jsxs)(eh.Select,{value:e.ageText,onValueChange:e=>i(r,{ageText:e}),children:[(0,a.jsx)(em.SelectTrigger,{size:"sm",className:"w-32",children:(0,a.jsx)(eh.SelectValue,{})}),(0,a.jsx)(em.SelectContent,{children:eW.map(e=>(0,a.jsx)(em.SelectItem,{value:e,children:e},e))})]}),!t&&(0,a.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,a.jsx)(ep.Checkbox,{size:"sm",checked:e.backView,onCheckedChange:e=>i(r,{backView:!0===e})}),(0,a.jsx)(N.Typography,{as:"span",variant:"label-md",tone:"ds-secondary",children:"뒤보기"})]})]},r))})}let eG=W.reduce((e,{id:a,icon:r})=>(e[a]=r,e),{}),eY=W.reduce((e,{id:a,label:r})=>(e[a]=r,e),{});function eJ({category:e,selected:r,selectedCount:s,onOpen:t}){return(0,a.jsxs)("button",{type:"button",onClick:t,className:(0,ec.cn)("relative flex min-h-40 flex-col overflow-hidden rounded-ds-lg border p-4 text-left transition-transform duration-150 hover:scale-[1.03]",r?"border-[#007aff] bg-[#f0f4ff]":"border-ds-border bg-ds-white"),children:[r&&(0,a.jsx)("span",{className:"absolute right-3 top-3 z-[2] flex h-6 w-6 items-center justify-center rounded-full bg-[#007aff]",children:(0,a.jsx)(ei.Check,{className:"h-3.5 w-3.5 text-ds-white",strokeWidth:2.5,"aria-hidden":!0})}),(0,a.jsx)(et.default,{src:e.image,alt:"",width:112,height:92,className:"pointer-events-none absolute right-2 top-3 h-[72px] w-20 object-contain lg:h-[92px] lg:w-28","aria-hidden":!0}),(0,a.jsxs)("div",{className:"mt-auto",children:[(0,a.jsx)(N.Typography,{as:"p",variant:"body-md-bold",tone:"ds-primary",children:e.label}),r?(0,a.jsxs)("p",{className:"mt-1 text-[12px] font-semibold text-[#007aff]",children:[s,"개 선택"]}):(0,a.jsx)(N.Typography,{as:"p",variant:"label-md",tone:"ds-tertiary",className:"mt-1",children:e.sublabel})]})]})}function eZ({startDate:e,endDate:s,companyId:t,packageGroupId:n,additionalProducts:c,className:d}){let p,{selectedItems:u,removeItem:m,setItemOptions:h,clearAll:x,openCategory:g}=O(),y=(0,E.calcRentalDays)(e,s),[f,b]=r.useState(!1),{context:j}=(0,o.useB2bContext)(),{data:w}=(0,i.useQuery)(eo.serviceQueries.info({type:"car",...(0,l.buildB2bServiceRequestParam
1s)(j)})),C=e.includes("T")?e.slice(0,10):e,k=!!w?.holidays?.includes(C),T=!!Number.isNaN(p=new Date(e).getTime())||p-Date.now()>=9e7,S=function(e){let a=new Date(e);if(Number.isNaN(a.getTime()))return!0;let r=new Date,s=new Date(r.getFullYear(),r.getMonth(),r.getDate()),t=Math.round((new Date(a.getFullYear(),a.getMonth(),a.getDate()).getTime()-s.getTime())/864e5);return!(t<=0||r.getHours()>=17&&t<=1)}(e),I=W.filter(e=>"delivery"===e.id?c?.delivery?.isShow===!0&&T:"parking"!==e.id||c?.parking?.isShow===!0&&S),D=c?.items,P=D?.hasPromotion===!0,A=u.reduce((e,a)=>(a.sourceCategory&&(e[a.sourceCategory]=(e[a.sourceCategory]??0)+1),e),{}),R=u.reduce((e,a)=>e+a.quantity,0),L=(0,a.jsx)(ed.Button,{type:"button",shape:"outline",tone:"neutral",size:"tab-32",onClick:()=>b(!0),className:"shrink-0",children:"선택 초기화"});return(0,a.jsxs)("div",{className:d,children:[(0,a.jsxs)("section",{className:"rounded-ds-lg bg-ds-white px-4 py-6",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(N.Typography,{as:"h3",variant:"title-lg-bold",tone:"ds-primary",children:"더 편한 여행을 위해 준비했어요"}),0===u.length&&(0,a.jsx)(N.Typography,{as:"p",variant:"label-md",tone:"ds-muted",className:"mt-2",children:"선택한 상품이 없어요. 아래에서 추가해 보세요."})]}),L]}),(0,a.jsxs)("div",{className:"mt-6 flex flex-col gap-4",children:[u.length>0&&(0,a.jsxs)(ex.SectionWithSrOnlyHeading,{id:"additional-services-selected",title:"선택한 상품",className:"flex flex-col gap-2",children:[(0,a.jsxs)(N.Typography,{as:"p",variant:"title-md",tone:"ds-primary",children:["선택한 상품 (",R,"개)"]}),u.map(e=>{let r="baby"===e.sourceCategory||"convenience"===e.sourceCategory,s=null!=e.pricePerDay?e.pricePerDay*e.quantity*(r?y:1):null,t=e.sourceCategory?eG[e.sourceCategory]:el.Package,i=r&&!!e.sourceItemCategory?.includes("카시트")&&"delivery"===e.sourcePickupType,n=e.sourceCategory?eY[e.sourceCategory]:void 0,l="delivery"===e.sourcePickupType?"딜리버리형":"픽업형",o=n?r?`${n} \xb7 ${l}`:n:null;return(0,a.jsxs)("div",{className:"relative flex flex-col gap-2 rounded-ds-lg border border-[#d0dfff] bg-[#f0f4ff] p-3",children:[(0,a.jsx)(ed.Button,{type:"button",shape:"plain",size:"unstyled",onClick:()=>m(e.id),className:"absolute right-2 top-2 flex h-6 w-6 shrink-0 items-center justify-center text-ds-text-muted transition-colors hover:text-ds-text-primary","aria-label":"삭제",children:(0,a.jsx)(en.X,{className:"h-4 w-4"})}),o&&(0,a.jsx)("span",{className:"self-start rounded-lg bg-[#007aff] px-2 py-1 text-[12px] font-semibold text-ds-white",children:o}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"relative h-12 w-12 shrink-0 overflow-hidden rounded-lg bg-ds-white",children:e.imagePath?(0,a.jsx)(et.default,{src:e.imagePath,alt:e.name,fill:!0,className:"object-contain",sizes:"56px"}):(0,a.jsx)(t,{className:"absolute inset-0 m-auto h-6 w-6 text-ds-text-muted",strokeWidth:1.5,"aria-hidden":!0})}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm",tone:"ds-primary",className:"truncate",children:e.name}),(0,a.jsxs)("p",{className:"mt-0.5 text-[17px] font-bold text-[#007aff]",children:[e.quantity,"개",null!=s?` / ${s.toLocaleString()}원`:" / —"]})]})]}),r&&i&&(0,a.jsx)("div",{className:"border-t border-[#d0dfff] pt-3",children:(0,a.jsx)(eU,{item:e,onChange:a=>h(e.id,a)})})]},e.id)})]}),(0,a.jsxs)(ex.SectionWithSrOnlyHeading,{id:"additional-services-categories",title:"카테고리에서 고르기",className:"flex flex-col gap-6",children:[P&&(0,a.jsx)(eQ,{onClick:()=>g("baby"),title:D?.title??"",contents:D?.contents??""}),Q.map((e,r)=>{let s=I.filter(a=>a.group===e.id);return 0===s.length?null:(0,a.jsxs)("div",{className:r>0?"border-t border-ds-border pt-6":void 0,children:[(0,a.jsx)(N.Typography,{as:"p",variant:"body-md-bold",tone:"ds-accent",className:"mb-3",children:e.title}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-3",children:s.map(e=>{let r=A[e.id]??0;return(0,a.jsx)(eJ,{category:e,selected:r>0,selectedCount:r,onOpen:()=>g(e.id)},e.id)})}),"light"===e.id&&(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsx)(eu.InlineNotice,{tone:"warning",children:"유아용품은 개월수에 따라 장착 방법이 달라집니다. 개월수를 체크해 주세요."})})]},e.id)})]})]}),(0,a.jsx)(eq,{startDate:e,endDate:s,companyId:t,packageGroupId:n,isStartDateHoliday:k})]}),(0,a.jsx)(v.ConfirmDialog,{open:f,onOpenChange:b,title:"선택한 상품을 모두 초기화하시겠습니까?",cancelLabel:"취소",confirmLabel:"확인",onConfirm:x})]})}var eX=e.i(217732),e0=e.i(961822),e1=e.i(604885),e2=e.i(118287);function e4({className:e,hidden:t=!1}){let{register:i,setValue:n,getValues:c,setError:d,clearErrors:p,formState:{errors:u}}=(0,s.useFormContext)(),{isAuthenticated:m,isLoading:h,session:x}=(0,b.useAuth)(),{openLogin:g}
1=(0,eX.useLoginDialog)(),{context:j}=(0,o.useB2bContext)(),w=(0,l.isTcmsManualB2bContext)(j),C=!!(x?.phone?.trim()&&x?.name?.trim()),k=i("booker.phone"),{manualIdentityLocked:T,manualNotice:S,manualRegisterTarget:I,manualRegisterPending:D,resetManualLookupState:P,handleManualLookup:A,confirmManualRegister:R,clearManualRegisterTarget:L}=(0,y.useManualReservationMemberLookup)({enabled:w,getBooker:()=>c().booker,setPhone:e=>{n("booker.phone",e,{shouldDirty:!0,shouldValidate:!0})},setName:({surname:e,name:a})=>{e&&n("booker.surname",e,{shouldDirty:!0,shouldValidate:!0}),a&&n("booker.name",a,{shouldDirty:!0,shouldValidate:!0})},setBirthDate:e=>{n("booker.birthDate",e,{shouldDirty:!0,shouldValidate:!1})},resetBirthDate:()=>{n("booker.birthDate","",{shouldDirty:!0,shouldValidate:!1})},setPhoneError:e=>{d("booker.phone",{type:"manual",message:e})},clearPhoneError:()=>{p("booker.phone")},clearBookerErrors:()=>{p(["booker.phone","booker.surname","booker.name"])}}),E=r.useCallback(()=>w?void 0:!h&&(m&&C?void 0:(g({redirectTo:`${window.location.pathname}${window.location.search}`}),!1)),[C,m,h,w,g]);return(r.useEffect(()=>{if(!m||!x)return;let{surname:e,name:a}=(0,f.splitKoreanName)(x.name);x.phone&&n("booker.phone",x.phone,{shouldValidate:!0}),e&&n("booker.surname",e,{shouldValidate:!0}),a&&n("booker.name",a,{shouldValidate:!0}),x.birthDate&&n("booker.birthDate",x.birthDate.replace(/\D/g,""),{shouldValidate:!0})},[m,x,n]),t)?null:(0,a.jsxs)("div",{className:e,children:[(0,a.jsx)(e1.FormSection,{title:"예약자 정보",className:"px-4 py-6 bg-ds-white rounded-ds-lg",children:(0,a.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)(e1.FormField,{label:"휴대폰",htmlFor:"booker-phone",error:u.booker?.phone?.message,children:(0,a.jsx)(e2.Input,{id:"booker-phone",type:"tel",size:"md",className:e2.RESERVE_FIELD_CLASS,placeholder:"휴대폰 번호",maxLength:13,hideCharCount:!0,readOnly:!w,...k,onClick:w?void 0:E,onFocus:w?void 0:E,onInput:e=>{w&&n("booker.phone",(0,e0.formatKoreanMobilePhoneInput)(e),{shouldDirty:!0,shouldValidate:!0})},onChange:e=>{w&&(0,e0.formatKoreanMobilePhoneInput)(e),k.onChange(e),w&&P()},onBlur:e=>{w&&(0,e0.formatKoreanMobilePhoneInput)(e),k.onBlur(e),A(e.currentTarget.value)}})}),(0,a.jsx)(e1.FormField,{label:"예약자",children:(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsxs)("div",{className:"flex-1 space-y-2.5",children:[(0,a.jsx)(e2.Input,{id:"booker-surname",placeholder:"성",size:"md",className:e2.RESERVE_FIELD_CLASS,readOnly:!w||T,onClick:w?void 0:E,onFocus:w?void 0:E,...i("booker.surname")}),u.booker?.surname&&(0,a.jsx)(N.Typography,{variant:"caption",tone:"danger",children:u.booker.surname.message})]}),(0,a.jsxs)("div",{className:"flex-1 space-y-2.5",children:[(0,a.jsx)(e2.Input,{id:"booker-name",placeholder:"이름",size:"md",className:e2.RESERVE_FIELD_CLASS,readOnly:!w||T,onClick:w?void 0:E,onFocus:w?void 0:E,...i("booker.name")}),u.booker?.name&&(0,a.jsx)(N.Typography,{variant:"caption",tone:"danger",children:u.booker.name.message})]})]})})]}),S?(0,a.jsx)(eu.InlineNotice,{tone:"warning",role:"alert",children:S}):null,(0,a.jsx)(eu.InlineNotice,{tone:"warning",role:"alert",children:"실제 정보와 다를 경우 예약 확인·이용·환불에 제약이 있을 수 있어요."})]})}),(0,a.jsx)(v.ConfirmDialog,{open:!!I,onOpenChange:e=>{e||L()},title:"조회된 사용자 정보가 없습니다.",description:I?`조회된 사용자 정보가 없습니다.
2사용자 정보를 등록 하시겠습니까?
3
4이름 : ${I.name}
5연락처 : ${I.phone}`:"조회된 사용자 정보가 없습니다.",cancelLabel:"취소",confirmLabel:"OK",confirmPending:D,confirmPendingLabel:"등록 중",closeOnConfirm:!1,onConfirm:R})]})}var e5=e.i(972520),e3=e.i(39710),e8=e.i(192684),e6=e.i(314172),e7=e.i(841936);function e9({date:e}){return(0,a.jsxs)("span",{className:"inline-flex items-baseline gap-1",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body-md-bold",tone:"ds-accent",children:(0,e7.formatShortDate)(e)}),(0,a.jsx)(N.Typography,{as:"span",variant:"body-md-bold",tone:"ds-primary",children:(0,e7.formatShortTime)(e)})]})}
5function ae({detail:e,startDate:r,endDate:s,className:t}){let i,n,l=(i=new Date(r).getTime(),n=new Date(s).getTime(),Number.isFinite(i)&&Number.isFinite(n)&&!(n<=i)?Math.round((n-i)/36e5):0);return(0,a.jsx)(ex.SectionWithSrOnlyHeading,{id:"reservation-review-car-info",title:"차량 정보",className:t,children:(0,a.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,a.jsxs)(e6.MediaInfoCard,{size:"lg",layout:"horizontal",className:"items-center gap-4",children:[(0,a.jsxs)(e6.MediaInfoCard.Content,{className:"min-w-0",children:[(0,a.jsx)(e6.MediaInfoCard.Title,{align:"left",variant:"heading-lg",tone:"ds-primary",children:e.name}),(0,a.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-x-1.5 gap-y-1",children:[(0,a.jsx)(e3.CarSpecRow,{variant:"plain",carType:e.type,seatsLabel:(0,e8.formatCapacity)(e.capacity),baggageLabel:(0,e8.formatBaggage)(e.baggageCapacity)}),(0,a.jsxs)("span",{className:"inline-flex items-center gap-x-1.5 whitespace-nowrap",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-regular",tone:"ds-muted",children:"|"}),(0,a.jsxs)(N.Typography,{as:"span",variant:"body-sm-bold",tone:"ds-accent",children:["총 ",l,"시간"]})]})]})]}),(0,a.jsx)(e6.MediaInfoCard.Media,{className:"h-20 w-32 shrink-0",children:(0,a.jsx)(et.default,{src:e.imageUrl,alt:`${e.name} 차량 이미지`,fill:!0,className:"object-contain",sizes:"160px"})})]}),(0,a.jsxs)("div",{className:"flex w-full items-center justify-center gap-3 rounded-full bg-brand-bg-light-blue px-4 py-3",children:[(0,a.jsx)(e9,{date:new Date(r)}),(0,a.jsx)(e5.ArrowRight,{className:"h-4 w-4 shrink-0 text-ds-text-primary","aria-hidden":!0}),(0,a.jsx)(e9,{date:new Date(s)})]})]})})}e.i(675886);var aa=e.i(27888),ar=e.i(489466),as=e.i(282722);e.i(830681);var at=e.i(727500),ai=e.i(702892);e.i(141898);var an=e.i(804820);function al(e){if(!e)return;let a=new Date(e);return Number.isNaN(a.getTime())?void 0:a}let ao=e=>(e??"").replace(/\D/g,"");function ac({className:e,hideSameAsBooker:t=!1,vehicleMinimumAge:i=0,vehicleMaximumAge:n=0,pickupDate:c}){let{register:d,watch:p,getValues:u,setValue:m,control:h,formState:{errors:x}}=(0,s.useFormContext)(),{session:g,isAuthenticated:y}=(0,b.useAuth)(),{context:f}=(0,o.useB2bContext)(),j=(0,l.isTcmsManualB2bContext)(f),[w,C]=r.useState(!1),k=(0,aa.useReservationFamilyCardDialog)({open:w,onOpenChange:C}),T=p("driverSameAsBooker"),I=p("driverIsForeigner"),D=p("driver"),P=p("booker.birthDate"),{showToast:A,toast:R}=(0,ai.useInfoToast)(),L=j?ao(P):ao(y?g?.birthDate:void 0)||ao(P),E=T&&L.length>0,F=p("driver.birthDate"),[B,O]=r.useState(null),_=r.useMemo(()=>al(c),[c]);r.useEffect(()=>{if(8!==(F??"").replace(/\D/g,"").length)return;let e=(0,S.getAgeFromBirthDate)(F??"",_);if(null==e){O(S.BIRTH_DATE_INVALID_MESSAGE),m("driver.birthDate","",{shouldDirty:!0,shouldValidate:!0}),T&&m("driverSameAsBooker",!1,{shouldDirty:!0});return}i>0&&e<i?(O(`해당 차량은 만 ${i}세 이상만 대여 가능합니다.`),m("driver.birthDate","",{shouldDirty:!0,shouldValidate:!0}),T&&m("driverSameAsBooker",!1,{shouldDirty:!0})):n>0&&e>n&&(O(`해당 차량은 만 ${n}세 이하만 대여 가능합니다.`),m("driver.birthDate","",{shouldDirty:!0,shouldValidate:!0}),T&&m("driverSameAsBooker",!1,{shouldDirty:!0}))},[F,i,n,_,T,m]);let $=d("driver.phone"),M=d("driver.surname"),z=d("driver.name");return(0,a.jsxs)("div",{className:e,children:[(0,a.jsx)(e1.FormSection,{title:"운전자 정보",className:"px-4 py-6 bg-ds-white rounded-ds-lg",headerAction:t?void 0:(0,a.jsx)(s.Controller,{control:h,name:"driverSameAsBooker",render:({field:e})=>(0,a.jsxs)(ar.Label,{className:"flex cursor-pointer items-center gap-2",children:[(0,a.jsx)(as.Switch,{checked:e.value,onCheckedChange:a=>{let r=!!a,{booker:s}=u();r&&!(s.phone?.trim()&&s.surname?.trim()&&s.name?.trim())?A("예약자 정보를 먼저 입력해주세요"):(e.onChange(r),r?(m("driver.phone",s.phone,{shouldValidate:!0}),m("driver.surname",s.surname,{shouldValidate:!0}),m("driver.name",s.name,{shouldValidate:!0}),m("driver.birthDate",L,{shouldValidate:!0})):(m("driver.phone","",{shouldDirty:!0}),m("driver.surname","",{shouldDirty:!0}),m("driver.name","",{shouldDirty:!0}),m("driver.birthDate","",{shouldDirty:!0})))}}),(0,a.jsx)(N.Typography,{as:"span",variant:"body-md-regular",tone:"ds-accent",children:"예약자와 동일"})]})}),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[T?(0,a.jsxs)("div",{className:"flex w-full items-center justify-center gap-2 rounded-full bg-brand-bg-light-blue px-4 py-3",role:"status",children:[(0,a.jsx)(an.IconCheck,{className:"h-4 w-4 shrink-0 text-[14px] leading-none text-ds-primary","aria-hidden":!0}),(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm-bold",tone:"ds-accent",children:"예약자 정보가 자동으로 입력되었습니다"})]}):null,(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)(e1.FormField,{label:"휴대폰",error:T?void 0:x.driver?.phone?.message,children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(e2.Input,{type:"tel",placeholder:"휴대폰 번호를 입력하세요",size:"md",className:(0,ec.cn)("flex-1",e2.RESERVE_FIELD_CLASS),disabled:T,maxLength:13,hideCharCount:!0,...$,onInput:e=>{T||m("driver.phone",(0,e0.formatKoreanMobilePhoneInput)(e),{shouldDirty:!0,shouldValidate:!0})},onChange:e=>{T||(0,e0.formatKoreanMobilePhoneInput)(e),$.onChange(e)},onBlur:e=>{T||(0,e0.formatKoreanMobilePhoneInput)(e),$.onBlur(e)}}),(0,a.jsx)(at.FamilyCardApplyDialog,{open:w,...k,newCardInitialValue:{phone:D?.phone,surname:D?.surname,name:D?.name,birthDate:D?.birthDate},onApply:e=>{if(e.isMe){let{booker:e}=u();return e.phone?.trim()&&e.surname?.trim()&&e.name?.trim()?(m("driverSameAsBooker",!0,{shouldDirty:!0,shouldValidate:!0}),m("driver.phone",e.phone,{shouldValidate:!0}),m("driver.surname",e.surname,{shouldValidate:!0}),m("driver.name",e.name,{shouldValidate:!0}),void m("driver.birthDate",L,{shouldValidate:!0})):void A("예약자 정보를 먼저 입력해주세요")}m("driverSameAsBooker",!1),m("driver.phone",e.phone,{shouldDirty:!0,shouldValidate:!0}),m("driver.surname",e.surname,{shouldDirty:!0,shouldValidate:!0}),m("driver.name",e.name,{shouldDirty:!0,shouldValidate:!0}),m("driver.birthDate",e.birthDate,{shouldDirty:!0,shouldValidate:!0})},triggerLabel:"마이 패밀리 카드에서 운전자 정보 입력"})]})}),(0,a.jsx)(e1.FormField,{label:"운전자",children:(0,a.jsxs)("div",{className:"mt-1 flex gap-2",children:[(0,a.jsxs)("div",{className:"flex-1 space-y-2.5",children:[(0,a.jsx)(e2.Input,{placeholder:"성",size:"md",className:e2.RESERVE_FIELD_CLASS,disabled:T,...M}),!T&&x.driver?.surname&&(0,a.jsx)(N.Typography,{variant:"caption",tone:"danger",children:x.driver.surname.message})]}),(0,a.jsxs)("div",{className:"flex-1 space-y-2.5",children:[(0,a.jsx)(e2.Input,{placeholder:"이름",size:"md",className:e2.RESERVE_FIELD_CLASS,disabled:T,...z}),!T&&x.driver?.name&&(0,a.jsx)(N.Typography,{variant:"caption",tone:"danger",children:x.driver.name.message})]})]})}),(0,a.jsx)(e1.FormField,{isRequired:!0,label:"출생일",error:x.driver?.birthDate?.message,labelTone:"ds-error",children:(0,a.jsx)(e2.Input,{placeholder:"생년월일 8자리 (20121122)",maxLength:8,hideCharCount:!0,size:"md",className:e2.RESERVE_FIELD_EMPHASIS_CLASS,disabled:E,...d("driver.birthDate")})})]}),(0,a.jsx)(eN.SectionBar,{weight:"hairline",className:"bg-ds-bg-card"}),(0,a.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,a.jsx)(s.Controller,{c
5ontrol:h,name:"driverIsForeigner",render:({field:e})=>(0,a.jsxs)(ar.Label,{className:"flex cursor-pointer items-center gap-2",children:[(0,a.jsx)(as.Switch,{checked:e.value,onCheckedChange:a=>e.onChange(!!a)}),(0,a.jsx)(N.Typography,{as:"span",variant:"body-md-bold",tone:"ds-secondary",children:"외국인 또는 이중국적 보유자입니다."})]})}),(0,a.jsx)(eu.InlineNotice,{tone:"warning",role:"alert",children:I?(0,a.jsxs)(a.Fragment,{children:["외국인 및 이중국적 보유자는 대여 제한이 있을 수 있으니"," ",(0,a.jsx)(N.Typography,{as:"span",variant:"body-md-bold",tone:"ds-accent",className:"underline underline-offset-2",children:"대여규정"}),"을 반드시 확인해 주세요."]}):(0,a.jsxs)(a.Fragment,{children:["대여 시 운전면허증은 반드시 지참해 주세요. ",(0,a.jsx)("br",{}),"현장에서 운전자 1명은 무료로 추가 등록할 수 있습니다."]})})]})]})}),(0,a.jsx)(v.ConfirmDialog,{open:null!==B,onOpenChange:e=>{e||O(null)},title:B??"",confirmLabel:"확인"}),R]})}var ad=e.i(522016),ap=e.i(233565);let au="/images/logo/axa.png",am=[{title:"① 운전중교통사고처리지원금",paragraphs:["예약한 차량의 최초 대여시간동안 운전자보험 가입자 본인이 렌터카를 운전하던 중 발생한 급격하고도 우연한 자동차 사고로 타인(동승자를 포함하나 피보험자의 부모, 배우자, 및 자녀는 제외 / 이하 '피해자'라고 합니다)에게 다음 각 항에 해당하는 상해를 입힌 경우, 피해자 각각에 대하여 피보험자가 형사합의금으로 지급한 금액을 운전중교통사고처리지원금으로 지급합니다.","피해자 사망사고, 일반교통사고로 인한 피해자 중상해 사고, 중대법규위반 교통사고시, 가해자(운전자)에게 발생하는 형사처벌, 형사책임을 형사합의를 통해 경감할 수 있도록 실제로 고객님이 부담한 합의금을 아래 한도로 보장합니다.","단, 피보험자가 사고를 내고 도주하였을 때나 음주 및 무면허 상태 또는 마약·약물 상태에서 운전하던 중 발생한 사고에 대해서는 보험금을 지급하지 않습니다."],emphasis:["1. 피해자를 사망하게 한 경우 : 3,000만원 한도",'2. "중대법규 위반 교통사고"로 피해자가 42일(피해자 1인 기준)이상 치료를 요한다는 진단을 받은 경우',"    • 42일 이상 ~ 69일 이하 진단시 : 1,000만원 한도","    • 70일 이상 ~ 139일 이하 진단시 : 2,000만원 한도","    • 140일 이상 진단시 : 3,000만원 한도",'3. "일반교통사고"로 피해자에게 중상해를 입혀 형법에 따라 검찰에 의해 공소제기되거나, 자동차손해배상보장법 시행령에서 정한 상해급수 1급, 2급 또는 3급에 해당하는 부상을 입힌 경우 : 3,000만원 한도']},{title:"② 운전중사고변호사선임비용",paragraphs:["예약한 차량의 최초대여시간 동안 운전자보험 가입자 본인이 렌터카를 운전하던 중에 발생한 급격하고도 우연한 자동차 사고로 피해자 사망 또는 상해를 입혀 구속되거나 공소제기(약식기소 제외)되었을 경우 변호사 선임을 위해 실제로 지급한 금액을 최대 500만원 한도로 보상합니다.","단, 약식기소 후 법원의 약식명령에 불복하여 정식재판을 청구한 경우 보상하지 않습니다. 또한, 피보험자가 사고를 내고 도주하였을 때나 음주 및 무면허 상태 또는 마약·약물 상태에서 운전하던 중 발생한 사고에 대해서는 보험금을 지급하지 않습니다."]},{title:"③ 운전중사고벌금",paragraphs:["예약한 차량의 최초대여시간 동안 운전자보험 가입자 본인이 렌터카를 운전하던 중에 발생한 급격하고도 우연한 자동차 사고로 타인의 신체에 상해를 입힘으로써 신체상해와 관련하여 벌금액 확정 판결을 받은 경우 1사고당 최대 2,000만원 한도로 보장합니다.","단, 피보험자가 사고를 내고 도주하였을 때나 음주 및 무면허 상태 또는 마약·약물 상태에서 운전하던 중 발생한 사고에 대해서는 보험금
5을 지급하지 않습니다."]},{title:"④ 일반상해골절화상수술",paragraphs:["예약한 차량의 최초대여시간 동안 운전자보험 가입자 본인이 렌터카를 운전하던 중 상해의 직접결과로써 발생한 사고의 골절이나 화상으로 진단 확정 후 수술을 받은 경우, 최대 10만원 한도로 보장합니다.","단, 위생관리, 미모를 위한 성형 수술, 선천성기형 및 이에 근거한 병상의 경우는 보상하지 않습니다."]}],ah=["1. 운전자보험은 예약한 차량의 대여시간 동안 운전자보험 가입자 본인(피보험자)이 렌터카를 운전하던 중 발생한 사고에 대해서만 보장하며, 동승운전자 또는 제 3자가 운전한 경우는 보장하지 않습니다.","2. 대여 차량을 반납한 이후 사고는 보상되지 않습니다.","3. 고의, 음주, 무면허, 도주사고, 마약·약물 상태 운전사고에서는 보상하지 않습니다.","4. 피보험자가 자동차를 경기용이나 경기를 위한 연습용 또는 시험용으로 운전하던 중 일으킨 사고는 보상하지 않습니다.","5. 피보험자가 자동차를 영업목적으로 운전하던 중 일으킨 사고는 보상하지 않습니다.","6. 다른 보험회사에 운전자보험을 가입하신 경우 중복으로 지급되지 않습니다. (비례보상)","7. 보험 계약의 수익자는 사망 시 법정상속인, 그 외 경우 피보험자 본인이 됩니다.","8. 일반상해골절화상수술은 예약한 차량의 대여시간 내 피보험자가 상해의 직접결과로써 발생한 사고의 골절, 화상, 진단으로 인한 수술한 경우 보상(단, 보상하지 아니하는 손해는 약관의 내용을 참고바랍니다.)"];function ax({open:e,onOpenChange:s}){return(0,a.jsx)(ey.Dialog,{open:e,onOpenChange:s,children:(0,a.jsxs)(ey.DialogContentFullscreen,{hideCloseButton:!0,overlayClassName:"z-[60]",className:"z-[70] flex flex-col bg-brand-bg-primary p-0 md:max-w-[600px]",children:[(0,a.jsx)(ey.DialogFullscreenHeader,{title:"운전자보험 안내"}),(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto p-6",children:(0,a.jsxs)("div",{className:"mx-auto flex w-full max-w-[600px] flex-col gap-4 pb-10",children:[(0,a.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,a.jsx)(et.default,{src:au,alt:"AXA",width:28,height:28,className:"h-7 w-auto object-contain"}),(0,a.jsx)(N.Typography,{as:"span",variant:"title-lg-bold",tone:"ds-primary",children:"운전자보험 안내"})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-1.5 rounded-ds-lg bg-brand-bg-light-blue p-4",children:[(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm-bold",tone:"ds-accent",className:"leading-relaxed",children:"돌하루팡에서는 선택하신 면책 상품에 따라 돌하루팡에서 제공하는 자동차종합보험 및 차량손해면책제도 외 AXA운전자보험을 다음과 같은 구성으로 제공하고 있습니다."}),(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm-bold",tone:"ds-accent",className:"leading-relaxed",children:"※ 단, 운전자보험은 돌하루팡을 통해 예약하신 대여기간 동안만 보장받으실 수 있습니다."})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-5 rounded-ds-lg bg-ds-white p-5",children:[am.map((e,s)=>(0,a.jsxs)(r.Fragment,{children:[s>0?(0,a.jsx)(eN.SectionBar,{weight:"hairline"}):null,(0,a.jsxs)("section",{className:"flex flex-col gap-2",children:[(0,a.jsx)(N.Typography,{as:"h3",variant:"body-md-bold",tone:"ds-accent",children:e.title}),e.paragraphs.map(e=>(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm-regular",tone:"ds-secondary",className:"leading-relaxed",children:e},e)),e.emphasis?(0,a.jsx)("div",{className:"mt-1 flex flex-col gap-1 rounded-ds-sm bg-ds-bg-card p-3",children:e.emphasis.map(e=>(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm-bold",tone:"ds-primary",className:"whitespace-pre-wrap leading-relaxed",children:e},e))}):null]})]},e.title)),(0,a.jsx)(eN.SectionBar,{weight:"hairline"}),(0,a.jsxs)("section",{className:"flex flex-col gap-2 rounded-ds-sm bg-ds-bg-card p-3",children:[(0,a.jsx)(N.Typography,{as:"h3",variant:"body-md-bold",tone:"ds-primary",children:"※ 유의사항"}),ah.map(e=>(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm-bold",tone:"ds-primary",className:"leading-relaxed",children:e},e))]})]})]})})]})})}let ag=[{text:"운전자 보험은 돌하루팡을 통해 예약하신 대여기간 동안만 보장받으실 수 있습니다."},{text:"운전자보험 가입자 정보 변경 및 일정 변경은 차량 인수일 전까지 돌하루팡을 통해서만 가능합니다."},{text:"운전자 보험은 주민등록증상 만 나이 21세부터 100세까지만 보험 보장이 가능합니다.",danger:!0},{text:"렌트카 대여 중 운전자 보험의 연장 및 가입은 불가능합니다.",danger:!0},{text:"운전자 보험은 1인만 가입 가능하며, 가입자에 한해 보장이 가능합니다."}];function ay({className:e,vehicleMinimumAge:t=0,vehicleMaximumAge:i=0,pickupDate:n}){let l=Math.max(21,t),o=i>0?Math.min(100,i):100,c=t>21?`해당 차량은 만 ${t}세 이상만 대여 가능합니다.`:`운전자보험은 만 21세부터 가입 가능합니다.`,d=i>0&&i<100?`해당 차량은 만 ${i}세 이하만 대여 가능합니다.`:`운전자보험은 만 100세까지 가입 가능합니다.`,{register:p,watch:u,getValues:m,setValue:h,control:x,formState:{errors:g}}=(0,s.useFormContext)(),{showToast:y,toast:f}=(0,ai.useInfoToast)(),[b,j]=r.useState(!1),[w,C]=r.useState(!1),k=(0,aa.useReservationFamilyCardDialog)({open:w,onOpenChange:C}),T=u("insuranceSameAsDriver"),I=u("insurance"),D=u("driver.phone"),P=u("driver.surname"),A=u("driver.name"),R=u("driver.birthDate"),L=u("insurance.b
5irthDate"),[E,F]=r.useState(null),B=r.useMemo(()=>al(n),[n]);return r.useEffect(()=>{T&&(h("insurance.phone",D,{shouldValidate:!0}),h("insurance.surname",P,{shouldValidate:!0}),h("insurance.name",A,{shouldValidate:!0}),h("insurance.birthDate",R,{shouldValidate:!0}))},[T,D,P,A,R,h]),r.useEffect(()=>{let e=(L??"").replace(/\D/g,"");if(8!==e.length)return;let a=(0,S.getAgeFromBirthDate)(L??"",B);if(null==a){if(T){let a=(R??"").replace(/\D/g,"");h("insuranceSameAsDriver",!1,{shouldDirty:!0}),e!==a&&F(S.BIRTH_DATE_INVALID_MESSAGE)}else F(S.BIRTH_DATE_INVALID_MESSAGE);h("insurance.birthDate","",{shouldDirty:!0,shouldValidate:!0});return}a<l?(F(c),h("insurance.birthDate","",{shouldDirty:!0,shouldValidate:!0}),T&&h("insuranceSameAsDriver",!1,{shouldDirty:!0})):a>o&&(F(d),h("insurance.birthDate","",{shouldDirty:!0,shouldValidate:!0}),T&&h("insuranceSameAsDriver",!1,{shouldDirty:!0}))},[L,l,o,c,d,B,R,T,h]),(0,a.jsxs)("div",{className:e,children:[(0,a.jsxs)(e1.FormSection,{title:"운전자 보험 가입자 정보",className:"px-4 py-6 bg-ds-white rounded-ds-lg",headerAction:(0,a.jsx)(s.Controller,{control:x,name:"insuranceSameAsDriver",render:({field:e})=>(0,a.jsxs)(ar.Label,{className:"flex cursor-pointer items-center gap-2",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body",tone:"primary",children:"운전자와 동일"}),(0,a.jsx)(as.Switch,{checked:e.value,onCheckedChange:a=>{let r=!!a,s=m().driver;r&&!(s.phone?.trim()&&s.surname?.trim()&&s.name?.trim())?y("운전자 정보를 먼저 입력해주세요"):(e.onChange(r),r?(h("insurance.phone",s.phone,{shouldValidate:!0}),h("insurance.surname",s.surname,{shouldValidate:!0}),h("insurance.name",s.name,{shouldValidate:!0}),h("insurance.birthDate",s.birthDate,{shouldValidate:!0})):(h("insurance.phone","",{shouldDirty:!0}),h("insurance.surname","",{shouldDirty:!0}),h("insurance.name","",{shouldDirty:!0}),h("insurance.birthDate","",{shouldDirty:!0})))}})]})}),children:[(0,a.jsxs)("button",{type:"button",onClick:()=>j(!0),className:"mb-4 flex w-full items-center justify-between gap-2 rounded-ds-md border border-ds-border px-4 py-3 text-left transition-colors hover:bg-ds-bg-card",children:[(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[(0,a.jsx)(et.default,{src:au,alt:"AXA",width:20,height:20,className:"h-5 w-auto object-contain"}),(0,a.jsx)(N.Typography,{as:"span",variant:"body-md-bold",tone:"ds-primary",children:"운전자보험 자세히보기"})]}),(0,a.jsx)(ap.ChevronRightIcon,{className:"h-4 w-4 text-ds-tertiary","aria-hidden":!0})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[T?(0,a.jsxs)("div",{className:"flex w-full items-center justify-center gap-2 rounded-full bg-brand-bg-light-blue px-4 py-3",role:"status",children:[(0,a.jsx)(an.IconCheck,{className:"h-4 w-4 shrink-0 text-[14px] leading-none text-ds-primary","aria-hidden":!0}),(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm-bold",tone:"ds-accent",children:"운전자 정보가 자동으로 입력되었습니다"})]}):null,(0,a.jsx)(e1.FormField,{label:"성함",children:(0,a.jsxs)("div",{className:"mt-1 flex gap-2",children:[(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)(e2.Input,{placeholder:"성",className:e2.RESERVE_FIELD_CLASS,disabled:T,...p("insurance.surname")}),!T&&g.insurance?.surname&&(0,a.jsx)(N.Typography,{variant:"caption",tone:"danger",children:g.insurance.surname.message})]}),(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)(e2.Input,{placeholder:"이름",className:e2.RESERVE_FIELD_CLASS,disabled:T,...p("insurance.name")}),!T&&g.insurance?.name&&(0,a.jsx)(N.Typography,{variant:"caption",tone:"danger",children:g.insurance.name.message})]})]})}),(0,a.jsx)(e1.FormField,{label:"휴대폰",error:T?void 0:g.insurance?.phone?.message,children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(e2.Input,{type:"tel",phoneFormat:!0,placeholder:"휴대폰 번호를 입력하세요",className:e2.RESERVE_FIELD_CLASS,disabled:T,...p("insurance.phone")}),(0,a.jsx)(at.FamilyCardApplyDialog,{open:w,...k,newCardInitialValue:{phone:I?.phone,surname:I?.surname,name:I?.name,birthDate:I?.birthDate},onApply:e=>{h("insuranceSameAsDriver",!1),h("insurance.phone",e.phone,{shouldDirty:!0,shouldValidate:!0}),h("insurance.surname",e.surname,{shouldDirty:!0,shouldValidate:!0}),h("insurance.name",e.name,{shouldDirty:!0,shouldValidate:!0}
5),h("insurance.birthDate",e.birthDate,{shouldDirty:!0,shouldValidate:!0})},triggerLabel:"마이 패밀리 카드에서 보험 가입자 정보 입력"})]})}),(0,a.jsx)(e1.FormField,{label:"출생일",error:T?void 0:g.insurance?.birthDate?.message,children:(0,a.jsx)(e2.Input,{placeholder:"생년월일 8자리 (20121122)",maxLength:8,hideCharCount:!0,className:e2.RESERVE_FIELD_EMPHASIS_CLASS,disabled:T,...p("insurance.birthDate")})}),(0,a.jsx)(eu.InlineNotice,{tone:"warning",role:"alert",children:(0,a.jsxs)("span",{className:"flex flex-col gap-1",children:[ag.map(e=>(0,a.jsxs)("span",{className:e.danger?"block text-ds-error":"block",children:["· ",e.text]},e.text)),(0,a.jsxs)("span",{className:"block",children:["· 운전자 보험에 관련된 문의는 AXA 고객센터(",(0,a.jsx)(ad.default,{href:"tel:1566-1566",className:"font-medium text-primary underline underline-offset-2",children:"1566-1566"}),")에서 가능합니다."]})]})})]})]}),(0,a.jsx)(ax,{open:b,onOpenChange:j}),(0,a.jsx)(v.ConfirmDialog,{open:null!==E,onOpenChange:e=>{e||F(null)},title:E??"",confirmLabel:"확인"}),f]})}var af=e.i(578027),ab=e.i(878894),av=e.i(223622),aj=e.i(777176),aN=e.i(968553),aw=e.i(784529),aC=e.i(503116),ak=e.i(514306),aT=e.i(296254),aS=e.i(958377),aI=e.i(465261),aD=e.i(734858),aP=e.i(86528),aA=e.i(711363),aR=e.i(334981),aL=e.i(234098),aE=e.i(751737),aF=e.i(581418),aB=e.i(283086),aO=e.i(897250),a_=e.i(278716),a$=e.i(682365);let aM={낚시용품:{acceptedKeys:["낚시용품","낚시용품지참가능"],checkedLabel:"낚시용품지참가능"},반려동물:{acceptedKeys:["반려동물","반려동물동반가능"],checkedLabel:"반려동물동반가능"}};function az(e){let a=Object.entries(aM);return a.find(([,a])=>a.acceptedKeys.includes(e))?.[0]}function aV(e,a){let r=az(e);return r&&a?aM[r].checkedLabel:e}let aH={후방카메라:aN.Camera,블랙박스:a_.Video,블루투스:aj.Bluetooth,열선시트:aS.Flame,네비게이션:aD.Navigation,스마트키:aI.KeyRound,후방센서:aR.Radar,에어백:aF.ShieldCheck,금연:av.Ban,반려동물:aA.PawPrint,항균소독:aB.Sparkles,"4륜구동":ak.Cog,차선이탈방지보조:aL.Route,썬루프:aO.Sun,낚시용품:aT.Fish,공기청정시스템:a$.Wind,후측방경고등:ab.AlertTriangle,전방추돌방지:aE.ShieldAlert,열선핸들:aw.CircleDot,통풍시트:af.AirVent,어라운드뷰:aP.Orbit};function aq({options:e,modelYear:r,className:s}){let t=new Set(e.filter(e=>e.isExist).map(e=>e.value)),i=r?(0,e8.formatModelYear)(r):"";return(0,a.jsx)("div",{className:(0,ec.cn)(s),children:(0,a.jsx)(e1.FormSection,{title:"차량 옵션",className:(0,ec.cn)("px-4 py-6 bg-ds-white rounded-ds-lg"),children:(0,a.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,a.jsxs)("ul",{className:(0,ec.cn)("grid grid-cols-2 gap-x-4 gap-y-3"),children:[i?(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)(aC.Clock,{className:(0,ec.cn)("h-5 w-5 shrink-0","text-ds-text-primary"),strokeWidth:1.5,"aria-hidden":!0}),(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-regular",tone:"ds-primary",children:i})]}):null,q.map(r=>{let s=aH[r],i=az(r),n=i?e.some(e=>e.isExist&&az(e.value)===i):t.has(r),l=aV(r,n);return(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)(s,{className:(0,ec.cn)("h-5 w-5 shrink-0",n?"text-ds-text-primary":"text-ds-text-disabled"),strokeWidth:1.5,"aria-hidden":!0}),(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-regular",tone:n?"ds-primary":"ds-disabled",children:l})]},r)})]}),(0,a.jsx)(eu.InlineNotice,{tone:"warning",role:"alert",children:"위 옵션사항은 해당 렌트카 업체 시스템으로부터 실시간 제공되는 정보로, 차량 관리 특성상 실제와 조금 차이가 있을 수 있으니 참고해 주세요."})]})})})}var aK=e.i(500389);function aQ({onsitePrice:e=0,couponDiscount:s=0,ratePlanDiscount:t=0,ratePlanName:i="특가",feeBreakdown:n=null,extraPrice:l=0,payPrice:o,onPay:c,disabled:d=!1,errorMessage:p}){let u=function(){let[e,a]=(0,r.useState)(!1),s=(0,r.useRef)(0),t=(0,r.useRef)(null);return(0,r.useEffect)(()=>{s.current=window.scrollY;let e=()=>{null!=t.current&&(clearTimeout(t.current),t.current=null)},r=()=>{let r=window.scrollY,i=r-s.current;
5if(r<=0||(document.scrollingElement??document.documentElement).scrollHeight-(window.scrollY+window.innerHeight)<=10){e(),a(!1),s.current=r;return}10>Math.abs(i)||(a(!0),e(),t.current=setTimeout(()=>{a(!1),t.current=null},1500),s.current=r)};return window.addEventListener("scroll",r,{passive:!0}),()=>{window.removeEventListener("scroll",r),e()}},[]),e}();return(0,a.jsx)("footer",{className:(0,ec.cn)("fixed inset-x-0 bottom-0 max-w-[600px] mx-auto z-sticky rounded-t-ds-xl border-t border-border bg-background px-4 py-6","transition-transform duration-300 ease-out will-change-transform",u?"translate-y-[90%]":"translate-y-0"),"aria-hidden":u,children:(0,a.jsxs)("div",{className:"mx-auto -mt-[5px] flex max-w-dialog flex-col items-center gap-3.5",children:[(0,a.jsxs)("div",{className:"flex items-center justify-center gap-3",children:[(0,a.jsx)("p",{className:"text-[15px] font-bold leading-none tracking-[-0.6px] text-[#101418]",children:"총 예약금 결제금액"}),(0,a.jsxs)("p",{className:"text-[20px] font-bold leading-none tracking-[-0.8px] text-[#007aff] tabular-nums",children:[o.toLocaleString(),"원"]})]}),n&&(0,a.jsxs)("div",{className:"flex flex-nowrap items-center justify-center gap-1.5 whitespace-nowrap text-[13px] font-medium tracking-[-0.52px] text-[#6b7280]",children:[(0,a.jsxs)("span",{className:"inline-flex items-baseline gap-[5px]",children:["차량 요금",(0,a.jsxs)("strong",{className:"text-[14px] font-bold text-[#495057]",children:[n.carPrice.toLocaleString(),"원"]})]}),n.insurancePrice>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-[#c9cdd4]",children:"+"}),(0,a.jsxs)("span",{className:"inline-flex items-baseline gap-[5px]",children:["면책 요금",(0,a.jsxs)("strong",{className:"text-[14px] font-bold text-[#495057]",children:[n.insurancePrice.toLocaleString(),"원"]})]})]}),l>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-[#c9cdd4]",children:"+"}),(0,a.jsxs)("span",{className:"inline-flex items-baseline gap-[5px]",children:["부가상품",(0,a.jsxs)("strong",{className:"text-[14px] font-bold text-[#495057]",children:[l.toLocaleString(),"원"]})]})]})]}),(t>0||s>0)&&(0,a.jsxs)("div",{className:"-mt-1.5 flex flex-wrap justify-center gap-2 pb-[5px]",children:[t>0&&(0,a.jsxs)("span",{className:"relative inline-flex items-center gap-2 whitespace-nowrap rounded-[4px] bg-[#fdebf3] px-3.5 py-1 text-[13px] font-medium tracking-[-0.52px] text-[#495057]",style:aK.TICKET_NOTCH_STYLE,children:[(0,a.jsx)("span",{"aria-hidden":!0,children:"-"}),(0,a.jsxs)("span",{className:"inline-flex items-baseline gap-1.5",children:[i," 할인"," ",(0,a.jsxs)("strong",{className:"font-bold text-[#f0407f]",children:[t.toLocaleString(),"원"]})]})]}),s>0&&(0,a.jsxs)("span",{className:"relative inline-flex items-center gap-2 whitespace-nowrap rounded-[4px] bg-[#fdebf3] px-3.5 py-1 text-[13px] font-medium tracking-[-0.52px] text-[#495057]",style:aK.TICKET_NOTCH_STYLE,children:[(0,a.jsx)("span",{"aria-hidden":!0,children:"-"}),(0,a.jsxs)("span",{className:"inline-flex items-baseline gap-1.5",children:["쿠폰 적용 시"," ",(0,a.jsxs)("strong",{className:"font-bold text-[#f0407f]",children:[s.toLocaleString(),"원 할인"]})]})]})]}),e>0&&(0,a.jsxs)(N.Typography,{as:"p",variant:"body-sm",tone:"ds-muted",className:"text-center",children:["현장결제 ",e.toLocaleString(),"원 별도"]}),(0,a.jsx)("div",{className:"relative z-raised -mb-3 flex w-full justify-center",children:(0,a.jsxs)("p",{className:"animate-bob-y relative m-0 inline-flex h-7 items-center whitespace-nowrap rounded-[5px] bg-[#fef35d] px-3.5 text-[14px] font-bold tracking-[-0.56px] text-[#101418]",children:["안심하세요! 최저가 보장된 가격입니다 😘",(0,a.jsx)("span",{"aria-hidden":!0,className:"absolute -bottom-[5px] left-1/2 -ml-[5px] h-0 w-0 border-l-[5px] border-r-[5px] border-t-[6px] border-l-transparent border-r-transparent border-t-[#fef35d]"})]})}),p&&(0,a.jsx)(eu.InlineNotice,{tone:"danger",surface:"card",role:"alert",children:p}),(0,a.jsx)(ed.Button,{type:"button",size:"cta-48",className:"mt-2 w-full",onClick:c,disabled:d,children:"실시간 예약하기"})]})})}var aW=e.i(389790);let aU=(0,$.default)("equal-approximately",[["path",{d:"M5 15a6.5 6.5 0 0 1 7 0 6.5 6.5 0 0 0 7 0",key:"yrdkhy"}],["path",{d:"M5 9a6.5 6.5 0 0 1 7 0 6.5 6.5 0 0 0 7 0",key:"gzkvyz"}]]);var aG=e.i(952571);let aY=["none","general","complete","super"],aJ=[{label:"보장​한도",key:"coverageLimit"},{label:"자기\n부담금",key:"deductible"},{label:"휴차\n보상료",key:"lossOfUseFee"},{label:"단독​사고",key:"soloAccident"}],aZ={none:{title:"현재 자차면책이 선택되지 않았어요.",description:"예상치 못한 상황, 나에게 맞는 면책으로 든든하게 대비해 보세요.",image:"/images/characters/insurance/none.png",circleClassName:"bg-ds-white"},general:{title:"꼭 필요한 기본 보장을 챙겼어요.",description:"휴차보상료와 단독사고까지 고려한다면 다른 면책도 비교해보세요.",image:"/images/characters/insurance/general.png",circleClassName:"bg-[#ffdfa6]"},complete:{title:"휴차보상료와 단독사고까지 보장받아요.",description:"자기부담금 부담까지 줄이고 싶다면 완전면책도 비교해 보세요.",image:"/images/characters/insurance/complete.png",circleClassName:"bg-[#dbefc9]"},super:{title:"가장 든든한 보장을 골랐어요.",description:"필요한 준비를 마쳤으니, 마음 편히 제주 여행을 즐기세요!",image:"/images/characters/insurance/super.png",circleClassName:"bg-[#b9d8ff]"}};function aX(e){return"general"===e||"complete"===e||"super"===e}let a0=["super","complete","general","none"];function a1({options:e,entryInsurance:t,pricesByType:i,rentalDays:n,limitedSpecialRatePlansByType:l,onCompareClick:o,className:c}){let{watch:d,setValue:p}=(0,s.useFormContext)(),[u,m]=(0,r.useState)(!1),[h,x]=(0,r.useState)(null),g=d("insuranceType"),y=e=>p("insuranceType",e,{shouldValidate:!0}),f=e.filter(e=>"partial"!==e.insuranceType);if(!f.length)return null;let b=[...f].sort((e,a)=>{let r=aY.indexOf(e.insuranceType),s=aY.indexOf(a.insuranceType);return(-1===r?99:r)-(-1===s?99:s)}),v=t?aY.indexOf(t):-1,j=v>=0?b.filter(e=>aY.indexOf(e.insuranceType)>=v):b,w=j.length?j:b,C=w.filter(e=>aX(e.insuranceType)),k="none"===t||void 0===t,T=e=>({onPointerEnter:a=>{"mouse"===a.pointerType&&x(e)},onPointerLeave:()=>x(null),onClick:()=>{k&&e===g?y("none"):y(e)}}),S=C.findIndex(e=>e.insuranceType===g),I=`(100% - 14%) / ${C.length||1}`,D=a0.find(e=>w.some(a=>a.insuranceType===e)),P=S>=0&&aX(g)?g:"none",A=aZ[P],R="none"===P;return 0===C.length?null:(0,a.jsxs)("div",{className:c,children:[(0,a.jsxs)(e1.FormSection,{title:"자차면책제도",headerAction:o?(0,a.jsxs)(ed.Button,{type:"button",shape:"outline",tone
5:"neutral",size:"cta-40",onClick:()=>m(!0),className:"gap-1 px-3",children:[(0,a.jsx)(aG.Info,{className:"h-4 w-4 shrink-0",strokeWidth:2,"aria-hidden":!0}),"한 눈 비교표"]}):null,contentClassName:"mt-4 flex flex-col gap-2",className:"px-4 py-6 bg-ds-white rounded-ds-lg",children:[(0,a.jsxs)("div",{"aria-live":"polite","aria-atomic":"true",className:(0,ec.cn)("flex min-h-[122px] items-center justify-between gap-3 rounded-[14px] px-4 py-5 sm:px-5",R?"bg-[#fdebf3]":"bg-[#eff4ff]"),children:[(0,a.jsxs)("div",{className:"min-w-0 break-keep",children:[(0,a.jsxs)("span",{className:(0,ec.cn)("mb-2 inline-flex items-center gap-1 rounded-[5px] px-2 py-1 text-[11px] font-extrabold leading-4",R?"bg-[#ffe4e6] text-[#f52238]":"bg-[#dceaff] text-[#007aff]"),children:[(0,a.jsx)(aG.Info,{className:"h-3 w-3 shrink-0","aria-hidden":!0}),R?"면책 미선택":`${aW.INSURANCE_TYPE_LABEL[P]} 선택`]}),(0,a.jsx)("p",{className:(0,ec.cn)("m-0 text-[18px] font-extrabold leading-6 tracking-[-0.04em]",R?"text-[#f0407f]":"text-[#002b5c]"),children:A.title}),(0,a.jsx)("p",{className:(0,ec.cn)("m-0 text-[14px] font-semibold leading-5 tracking-[-0.04em]",R?"text-[#183364]":"text-[#4266a2]"),children:A.description})]}),(0,a.jsxs)("div",{className:"relative h-20 w-16 shrink-0","aria-hidden":!0,children:[(0,a.jsx)("span",{className:(0,ec.cn)("absolute inset-x-0 top-2 h-16 rounded-full",A.circleClassName)}),(0,a.jsx)(et.default,{src:A.image,alt:"",fill:!0,sizes:"64px",className:"object-contain"})]})]}),(0,a.jsxs)("div",{className:"relative isolate mt-10",children:[D&&aX(D)&&(0,a.jsxs)("span",{className:"absolute -top-[30px] z-[calc(var(--z-raised)+1)] inline-flex h-6 -translate-x-1/2 items-center whitespace-nowrap rounded-[6px] bg-[#007aff] px-2.5 text-[12px] font-bold tracking-[-0.48px] text-[#fef35d]",style:{left:`calc(14% + ${I} * ${C.findIndex(e=>e.insuranceType===D)+.5})`},children:["보장 1위",(0,a.jsx)("span",{"aria-hidden":!0,className:"absolute -bottom-1 left-1/2 -ml-1 h-0 w-0 border-l-4 border-r-4 border-t-[5px] border-l-transparent border-r-transparent border-t-[#007aff]"})]}),C.map((e,r)=>{let s=e.insuranceType===g;return s||e.insuranceType===h?(0,a.jsx)("span",{"aria-hidden":!0,className:(0,ec.cn)("pointer-events-none absolute inset-y-0 z-0 rounded-[5px]",s?"bg-[#eaf3ff]":"bg-[#f5f9ff]"),style:{left:`calc(14% + ${I} * ${r})`,width:`calc(${I})`}},e.insuranceType):null}),(0,a.jsxs)("table",{className:"relative z-raised w-full table-fixed border-collapse text-[13px] tracking-[-0.52px]",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{children:[(0,a.jsx)("th",{className:"w-[14%] bg-[#f9fafb] px-1 py-3 text-center align-middle text-[13px] font-bold text-[#6b7280]",children:"구분"}),C.map(e=>{let r=e.insuranceType===g,s=r||e.insuranceType===h,t=i?.get(e.insuranceType)?.insurancePrice,o="number"==typeof t&&Number.isFinite(t)&&t>=0&&Number.isFinite(n)&&n>0?Math.round(t/n):null,c=l?.get(e.insuranceType);return(0,a.jsx)("th",{...T(e.insuranceType),className:"cursor-pointer border-l border-[#dee1e6] p-0 align-top",children:(0,a.jsxs)("button",{type:"button","aria-pressed":r,className:(0,ec.cn)("flex w-full cursor-pointer flex-col items-center gap-0.5 px-1 py-2.5",s?"bg-transparent":"bg-[#f9fafb]"),children:[(0,a.jsx)("span",{className:(0,ec.cn)("text-[16px] font-extrabold",r?"text-[#007aff]":"text-[#495057]"),children:aW.INSURANCE_TYPE_LABEL[e.insuranceType]}),(0,a.jsxs)("span",{className:(0,ec.cn)("inline-flex items-center gap-px whitespace-nowrap text-[10px] font-semibold tabular-nums min-[375px]:text-[12px]",c?"font-bold text-ds-pink":r?"text-[#007aff]":"text-[#495057]"),children:[c&&(0,a.jsxs)("span",{className:"sr-only",children:[c.ratePlanName," 요금"," "]}),null===o?"요금 확인 중":(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(aU,{className:"h-2.5 w-2.5 shrink-0 translate-y-px min-[375px]:h-3 min-[375px]:w-3","aria-hidden":!0}),(0,a.jsxs)("span",{children:[(0,a.jsx)("span",{className:"sr-only",children:"약 "}),o.toLocaleString("ko-KR"),"원 / 일"]})]})]})]})},e.insuranceType)})]})}),(0,a.jsxs)("tbody",{className:"text-[#101418]",children:[aJ.map(e=>(0,a.jsxs)("tr",{children:[(0,a.jsx)("td",{className:"whitespace-pre-line break-keep border-t border-[#dee1e6] px-1 py-3 text-center text-[12px] font-bold text-[#6b7280]",children:e.label}),C.map(r=>{var s;
5let t,i=r.insuranceType===g,n=i||r.insuranceType===h,l=(s=e.key,t=r.terms,t?.[s]??"");return(0,a.jsx)("td",{...T(r.insuranceType),className:(0,ec.cn)("cursor-pointer whitespace-pre-line break-keep [overflow-wrap:anywhere] border-l border-t border-[#dee1e6] px-1 py-3 text-center",l.includes("\n")||l.length>8?"text-[14px]":"text-[15px]",n?"bg-transparent":"bg-ds-white",i?"font-bold":"font-medium"),children:l},r.insuranceType)})]},e.label)),(0,a.jsxs)("tr",{children:[(0,a.jsx)("td",{className:"border-t border-[#dee1e6] bg-ds-white px-1 py-3"}),C.map(e=>{let r=e.insuranceType===g,s=r||e.insuranceType===h;return(0,a.jsx)("td",{...T(e.insuranceType),className:(0,ec.cn)("cursor-pointer border-t border-[#dee1e6] px-2.5 py-3",s?"bg-transparent":"bg-ds-white"),children:(0,a.jsxs)("button",{type:"button","aria-pressed":r,"aria-label":`${aW.INSURANCE_TYPE_LABEL[e.insuranceType]} ${r?"선택됨":"선택"}`,className:(0,ec.cn)("flex h-9 w-full cursor-pointer items-center justify-center gap-1 rounded-[8px] border text-[14px] font-bold",r?"border-[#007aff] bg-[#007aff] text-ds-white":"border-transparent bg-ds-bg-button text-[#6b7280]"),children:[(0,a.jsx)(ei.Check,{className:"h-3.5 w-3.5 shrink-0",strokeWidth:3,"aria-hidden":!0}),r?"선택됨":"선택"]})},e.insuranceType)})]})]})]}),C.map((e,r)=>{let s=e.insuranceType===g;return s||e.insuranceType===h?(0,a.jsx)("span",{"aria-hidden":!0,className:(0,ec.cn)("pointer-events-none absolute inset-y-0 z-raised rounded-[5px] border-2",s?"border-ds-primary":"border-ds-primary/40"),style:{left:`calc(14% + ${I} * ${r})`,width:`calc(${I})`}},e.insuranceType):null})]}),(0,a.jsxs)("div",{className:"mt-3 flex flex-col gap-1",children:[(0,a.jsx)(N.Typography,{as:"p",variant:"label-md",tone:"ds-muted",children:"*선택한 면책에 대한 상세 보장 내용은 대여규정을 반드시 확인해주세요."}),(0,a.jsx)(N.Typography,{as:"p",variant:"label-md",tone:"ds-muted",children:"*보장 제외 항목은 업체마다 다르게 적용되므로, 예약 전 해당 업체의 대여규정을 한 번 더 확인해주세요."})]})]}),(0,a.jsx)(eS.BoardDetailDialog,{open:u,onOpenChange:m,boardId:"artc_0069a7be8a879d7",label:"한 눈 비교표"})]})}e.i(913966);var a2=e.i(818589);function a4({className:e}){let{watch:r,setValue:t}=(0,s.useFormContext)(),i=r("plusPass");return(0,a.jsx)("div",{className:e,children:(0,a.jsx)(e1.FormSection,{title:"추가 혜택",className:"px-4 py-6 bg-ds-white rounded-ds-lg",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3 p-3 rounded-ds-lg bg-brand-bg-gray",children:[(0,a.jsx)("div",{className:"flex items-center justify-between gap-3",children:(0,a.jsxs)(ar.Label,{className:"flex min-w-0 cursor-pointer items-center gap-1",children:[(0,a.jsx)(as.Switch,{checked:i,onCheckedChange:e=>t("plusPass",e),"aria-label":"제주 원쁠패스 혜택 받기"}),(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-bold",tone:"ds-accent",className:"rounded-ds-sm px-2 py-1",children:"제주 원쁠패스 혜택 받기"})]})}),(0,a.jsx)(a2.PlusPassPopupsDialog,{trigger:(0,a.jsx)(ed.Button,{type:"button",shape:"outline",tone:"neutral",size:"tab-32",children:(0,a.jsx)(N.Typography,{as:"span",variant:"label-sm-bold",tone:"ds-secondary",children:"자세히 보기"})})})]}),(0,a.jsx)(N.Typography,{as:"p",variant:"label-lg-regular",tone:"ds-tertiary",className:"leading-relaxed",children:"* 예약 확정 시 카카오톡 알림톡으로 제주 현지 할인혜택이 담긴 원쁠패스 혜택 안내가 발송됩니다."})]}),(0,a.jsx)(a2.PlusPassPopupsDialog,{trigger:(0,a.jsxs)("button",{className:"flex items-center justify-center gap-3 rounded-ds-lg bg-ds-warning/10 p-3 cursor-pointer",children:[(0,a.jsx)(et.default,{src:"/images/characters/dolpang_gift.png",alt:"",width:56,height:56,className:"h-8 w-8 shrink-0 object-contain","aria-hidden":!0}),(0,a.jsxs)(N.Typography,{as:"p",variant:"body-sm-regular",tone:"ds-tertiary",className:"leading-relaxed",children:["파리바게뜨 커피 1잔, 중문면세점 18,000원 상당 방문할인",(0,a.jsxs)(N.Typography,{as:"span",variant:"body-sm-bold",tone:"ds-notice",className:"rounded-sm",children:[" ","총 60여곳 단독 혜택!"]})]})]})})]})})})}var a5=e.i(752044),a3=e.i(39312);let a8={start:"left-3",center:"left-1/2 -translate-x-1/2",end:"right-3"},a6={start:"top-3",center:"top-1/2 -translate-y-1/2",end:"bottom-3"},a7={top:{sideClasses:"bottom-[calc(100%-1px)]",clipPathClass:"[clip-path:polygon(50%_0,0_100%,100%_100%)]",alignClasses:a8},bottom:{sideClasses:"top-[calc(100%-1px)]",clipPathClass:"[clip-path:polygon(0_0,100%_0,50%_100%)]",alignClasses:a8},left:{sideClasses:"right-[calc(100%-1px)]",clipPathClass:"[clip-path:polygon(100%_0,0_50%,100%_100%)]",alignClasses:a6},right:{sideClasses:"left-[calc(100%-1px)]",clipPathClass:"[clip-path:polygon(0_0,100%_50%,0_100%)]",alignClasses:a6}};function a9({children:e,pointerSide:r,pointerAlign:s="center",onClose:t,closeLabel:i="팁 닫기",surfaceClassName:n="bg-ds-text-secondary",textTone:l="white",className:o,role:c="status",...d}){let p=r?a7[r]:null;return(0,a.jsxs)("div",{role:c,className:(0,ec.cn)("relative inline-flex w-fit items-center gap-2 rounded-ds-sm px-2 py-1.5",n,o),...d,children:[(0,a.jsx)(N.Typography,{as:"span",variant:"label-md",tone:l,children:e}),t?(0,a.jsx)("button",{type:"button",onClick:t,"aria-label":i,className:"-mr-1 inline-flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-current opacity-80 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-current",children:(0,a.jsx)(en.X,{size:14,"aria-hidden":!0})}
5):null,p?(0,a.jsx)("span",{"aria-hidden":!0,className:(0,ec.cn)("absolute","h-2 w-2.5",n,p.sideClasses,p.clipPathClass,p.alignClasses[s])}):null]})}a9.displayName="NudgeTip",e.i(857832);var re=e.i(812257);let ra={background:"linear-gradient(104deg, rgba(0,198,255,0.22) 0 14%, transparent 16% 52%, rgba(0,122,255,0.18) 54% 62%, transparent 64%)"},rr={background:"linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(180,240,255,0.55) 50%, rgba(255,255,255,0) 100%)"};function rs({detail:e,selectedInsuranceType:s,selectedInsuranceOption:t,totalPrice:i,payPrice:n,onsitePrice:l=0,couponDiscount:o=0,ratePlanDiscount:c=0,ratePlanName:d="특가",feeBreakdown:p=null,className:u}){let[m,h]=r.useState(!1),x=(0,aW.getInsuranceTypeLabel)(s),g="none"===s?"ds-error":"ds-accent",y=e.insuranceOptions[0],f=t??y,b=f?.eligibility??{minimumAge:0,minimumCareer:0},v=`만 ${b.minimumAge}세 이상`,j=o>0,w=[{name:x,checked:!0},...e.driverLicense?[{name:`${e.driverLicense}`,checked:!0}]:[],...b.minimumAge>0?[{name:`만 ${b.minimumAge}세 이상`,checked:!0}]:[],...b.minimumCareer>0?[{name:`운전경력 만 ${b.minimumCareer}년 이상`,checked:!0}]:[],...(f?.coverageHighlights??[]).map(e=>({name:`면책보장한도 ${e.value}`,checked:!0})),...e.options.map(e=>{let a=az(e.value);return a?{name:aV(a,e.isExist),checked:e.isExist}:null}).filter(e=>null!==e)];return(0,a.jsxs)(ex.SectionWithSrOnlyHeading,{id:"reservation-review-selected-option-summary",title:"선택한 옵션 요약",className:u,children:[(0,a.jsxs)("div",{className:(0,ec.cn)("relative flex flex-col gap-3 rounded-ds-lg bg-ds-white px-4",j?"border border-ds-primary/15 pb-6 pt-[76px]":"py-6"),children:[j&&(0,a.jsxs)("div",{"aria-label":"바로할인 적용 안내",className:"absolute inset-x-0 top-0 flex h-8 items-center justify-center gap-[5px] overflow-hidden rounded-t-[9px] bg-[#05070c]",children:[(0,a.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0",style:ra}),(0,a.jsx)("span",{"aria-hidden":!0,className:"animate-baro-strip-sweep pointer-events-none absolute -top-[30%] left-0 h-[160%] w-[12%]",style:rr}),(0,a.jsx)(a3.Zap,{className:"relative h-3.5 w-3.5 shrink-0 fill-current text-[#5cd2ff] drop-shadow-[0_0_5px_rgba(0,190,255,0.7)]",strokeWidth:0,"aria-hidden":!0}),(0,a.jsxs)("span",{className:"relative text-[13px] font-bold tracking-[-0.04em] text-[#e8f4ff] [font-family:HGGGothicssi,var(--font-sans)]",children:[(0,a.jsx)("span",{className:"text-[#5cd2ff]",children:"바로할인 쿠폰"}),"이 적용되었어요"]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsxs)(N.Typography,{as:"p",variant:"body-md-bold",tone:g,children:[x," ·"," ",(0,a.jsx)("span",{className:"text-ds-text-primary",children:v})]}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)(a9,{pointerSide:"bottom",pointerAlign:"center",surfaceClassName:"bg-ds-primary",className:"absolute -top-2 left-1/2 -translate-x-1/2 -translate-y-full whitespace-nowrap",children:"생생한 리뷰를 확인해보세요"}),(0,a.jsxs)(ed.Button,{shape:"outline",tone:"primary",size:"tab-32",className:"gap-1",onClick:()=>h(!0),children:[e.company.name,(0,a.jsx)(eT.InfoIcon,{className:"h-3.5 w-3.5 shrink-0","aria-hidden":!0})]})]})]}),(0,a.jsxs)("div",{className:"border-y border-ds-border py-6",children:[(0,a.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[p&&(0,a.jsxs)("div",{className:"flex flex-wrap items-baseline justify-center gap-2 text-[15px] font-medium leading-[1.5] tracking-[-0.6px] text-[#495057]",children:[(0,a.jsxs)("span",{className:"inline-flex items-baseline gap-1.5",children:["차량 요금",(0,a.jsxs)("strong",{className:"text-[16px] font-bold text-[#101418]",children:[p.carPrice.toLocaleString(),"원"]})]}),p.insurancePrice>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-[#9ca3af]",children:"+"}),(0,a.jsxs)("span",{className:"inline-flex items-baseline gap-1.5",children:["면책 요금",(0,a.jsxs)("strong",{className:"text-[16px] font-bold text-[#101418]",children:[p.insurancePrice.toLocaleString(),"원"]})]})]})]}),(c>0||o>0)&&(0,a.jsxs)("div",{className:"flex flex-wrap justify-center gap-2",children:[c>0&&(0,a.jsxs)("span",{className:"relative inline-flex items-center gap-2.5 whitespace-nowrap rounded-[4px] bg-[#fdebf3] px-[22px] py-[5px] text-[15px] font-medium leading-[1.5] tracking-[-0.6px] text-[#495057]",style:aK.TICKET_NOTCH_STYLE,children:[(0,a.jsx)("span",{"aria-hidden":!0,
5children:"-"}),(0,a.jsxs)("span",{className:"inline-flex items-baseline gap-1.5",children:[d," 할인"," ",(0,a.jsxs)("strong",{className:"font-bold text-[#f0407f]",children:[c.toLocaleString(),"원"]})]})]}),o>0&&(0,a.jsxs)("span",{className:"relative inline-flex items-center gap-2.5 whitespace-nowrap rounded-[4px] bg-[#fdebf3] px-[22px] py-[5px] text-[15px] font-medium leading-[1.5] tracking-[-0.6px] text-[#495057]",style:aK.TICKET_NOTCH_STYLE,children:[(0,a.jsx)("span",{"aria-hidden":!0,children:"-"}),(0,a.jsxs)("span",{className:"inline-flex items-baseline gap-1.5",children:["쿠폰 적용 시"," ",(0,a.jsxs)("strong",{className:"font-bold text-[#f0407f]",children:[o.toLocaleString(),"원 할인"]})]})]})]}),(0,a.jsxs)("div",{className:"mt-2.5 flex items-baseline justify-center gap-2.5 text-[18px] font-bold leading-[1.3] tracking-[-0.72px] text-[#101418]",children:["총 요금",j?(0,a.jsxs)("span",{className:"inline-flex items-center gap-[5px]",children:[(0,a.jsx)(a3.Zap,{className:"animate-baro-bolt-bob h-[17px] w-[17px] shrink-0 fill-current text-[#007aff]",strokeWidth:0,"aria-hidden":!0}),(0,a.jsxs)("strong",{className:"text-[26px] font-bold leading-[1.2] tracking-[-1.04px] text-[#007aff] tabular-nums [text-shadow:0_0_14px_rgba(0,122,255,0.3)]",children:[i.toLocaleString(),"원"]})]}):(0,a.jsxs)("strong",{className:"text-[26px] font-bold leading-[1.2] tracking-[-1.04px] text-[#007aff] tabular-nums",children:[i.toLocaleString(),"원"]})]})]}),l>0&&(0,a.jsx)("div",{className:"flex justify-center pt-3",children:(0,a.jsxs)(N.Typography,{as:"p",variant:"body-md-bold",tone:"ds-tertiary",className:"text-center",children:["예약금"," ",(0,a.jsxs)("strong",{className:"font-bold text-ds-accent",children:[n.toLocaleString(),"원"]})," ","+ 잔금"," ",(0,a.jsxs)("strong",{className:"font-bold text-ds-primary",children:[l.toLocaleString(),"원"]})]})})]}),(0,a.jsx)("ul",{className:"grid grid-cols-2 lg:gap-x-4 gap-y-4 p-2",children:w.sort((e,a)=>e.checked===a.checked?0:e.checked?-1:1).map(e=>(0,a.jsxs)("li",{className:"flex min-w-0 items-center gap-1.5 lg:pl-8",children:[e.checked?(0,a.jsx)(ei.Check,{className:"h-4 w-4 shrink-0 text-ds-text-primary","aria-hidden":!0}):(0,a.jsx)(a5.Square,{className:"h-4 w-4 shrink-0 text-ds-text-disabled","aria-hidden":!0}),(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-regular",tone:e.checked?"ds-secondary":"ds-disabled",children:e.name})]},e.name))}),(0,a.jsxs)(eu.InlineNotice,{tone:"warning",children:["위 대여 필수조건에 부합되지 않을 경우 현장에서 취소가 될 수 있으니 유의바라며,",(0,a.jsx)("br",{}),"이에 따른 취소 또한 기존 환불 규정과 동일하게 적용 되므로 반드시 확인 바랍니다."]})]}),(0,a.jsx)(ey.Dialog,{open:m,onOpenChange:h,children:(0,a.jsxs)(ey.DialogContentFullscreen,{hideCloseButton:!0,className:"flex flex-col overflow-hidden p-0 md:max-h-[80vh] md:max-w-[600px]",children:[(0,a.jsx)(ey.DialogFullscreenHeader,{title:`${e.company.name} 업체 정보`}),(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto",children:(0,a.jsx)(re.ProviderDescriptionContent,{companyId:e.company.id,publicId:e.company.publicId,service:"cars"})})]})})]})}e.i(690469);var rt=e.i(496297),ri=e.i(415117),rn=e.i(883370),rl=e.i(368481);e.i(73991);var ro=e.i(738507),rc=e.i(817457),rd=e.i(567329);function rp(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("section",{className:"space-y-3",children:[(0,a.jsx)(N.Typography,{as:"h3",variant:"strong",children:"노쇼(No-show) 취소수수료"}),(0,a.jsxs)("ul",{className:"space-y-2",children:[(0,a.jsx)("li",{className:"flex gap-1.5",children:(0,a.jsx)(N.Typography,{as:"span",variant:"body",children:"다음과 같은 경우, 노쇼(No-Show)로 간주됩니다."})}),(0,a.jsxs)("li",{className:"flex gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body",className:"shrink-0",children:"-"}),(0,a.jsx)(N.Typography,{as:"span",variant:"body",children:"대여 시간 전 예약 취소를 알리지 않은 경우"})]}),(0,a.jsxs)("li",{className:"flex gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body",className:"shrink-0",children:"-"}),(0,a.jsx)(N.Typography,{as:"span",variant:"body",children:"대여 시간에 차량을 인수하지 않은 경우"})]}),(0,a.jsxs)("li",{className:"flex gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body",className:"shrink-0",children:"-"}),(0,a.jsx)(N.Typography,{as:"span",variant:"body",children:"대여에 필요한 서류를 제공하지 않은 경우"})]}),(0,a.jsx)("li",{children:(0,a.jsx)(N.Typography,{as:"span",variant:"body",children:"위의 내용이 하나라도 발생 시 환불이 불가합니다."})})]})]}),(0,a.jsxs)("section",{className:"space-y-3",children:[(0,a.jsx)(N.Typography,{as:"h3",variant:"strong",children:"대여조건 미충족 시"}),(0,a.jsxs)("ul",{className:"space-y-2",children:[(0,a.jsxs)("li",{className:"flex gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body",className:"shrink-0",children:"-"}),(0,a.jsx)(N.Typography,{as:"span",variant:"body",children:"현장에서 나이 및 경력 미달 등으로 대여조건에 미충족 된 경우"})]}),(0,a.jsxs)("li",{className:"flex gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body",className:"shrink-0",children:"-"}),(0,a.jsx)(N.Typography,{as:"span",variant:"body",children:"반려동물동반 및 낚시용품지참이 불가한 업체의 규정을 위반한 경우"})]}),(0,a.jsxs)("li",{className:"flex gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body",className:"shrink-0",children:"-"}),(0,a.jsx)(N.Typography,{as:"span",variant:"body",children:"예약자, 운전자 연락처가 통화 불가한 경우 (해외 체류, 수신정지 등)"})]}),(0,a.jsx)("li",{children:(0,a.jsx)(N.Typography,{as:"span",variant:"body",children:"위 경우 환불 불가합니다."})})]})]}),(0,a.jsxs)("section",{className:"space-y-3",children:[(0,a.jsx)(N.Typography,{as:"h3",variant:"strong",children:"결항 취소 수수료"}),(0,a.jsxs)("ul",{className:"space-y-2",children:[(0,a.jsxs)("li",{className:"flex gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body",className:"shrink-0",children:"-"}),(0,a.jsx)(N.Typography,{as:"span",variant:"body",children:"인수일 당일 결항건에 한해 렌트카 예약자 성함이 기재된 결항확인서를 제출한 경우 100% 환불 가능합니다."})]}),(0,a.jsxs)("li",{className:"flex gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body",className:"shrink-0",children:"-"}),(0,a.jsx)(N.Typography,{as:"span",variant:"body",children:"주차대행 서비스의 경우 항공기 결항으로 인한 렌터카 수수료 감면과는 무관하여, 주차대행 이용료는 동일하게 발생합니다."})]})]})]})]})}function ru(e){return e>0&&e%60==0?`${e/60}시간`:`${e}분`}function rm(e){return"H"===e?"시간":"일"}function rh(e){let a=rm(e.timeType);return 0===e.remainTime?"No-show (미인수/대여시작시간 이후)":`대여시작 ${e.remainTime}${a} 이내`}function rx(e){return 0===e.penaltyRate?"수수료 없음":`전체 금액의 ${e.penaltyRate}% 수수료`}function rg(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(N.Typography,{as:"h3",variant:"strong",children:"렌터카 취소 수수료 (운전자보험 포함)"}),(0,a.jsx)(N.Typography,{as:"p",variant:"body",className:"break-keep",children:"운전자보험 가입 시 보험료는 차량요금에 합산되어 동일한 취소 수수료 규정이 적용됩니다."})]})}function ry({data:e,freeCancelNudge:s,limitedSpecialCancellationPolicy:t,limitedSpecialRatePlanName:i="선택한 요금제",additionalProductsCancelPolicy:n,hasStandaloneTicket:l=!1,trigger:o,onConfirm:c,open:d,onOpenChange:p}){var u,m;let h,x,g,y,f=(u=s,u?.visible?(m=new Date(u.freeCancelUntil.getTime()-6e4),h=new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Seoul",
5year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(m),x=e=>h.find(a=>a.type===e)?.value??"",`${x("year")}년 ${Number(x("month"))}월 ${Number(x("day"))}일 ${x("hour")}:${x("minute")}`):null),b=!t&&!!s?.visible,[v,j]=(0,r.useState)(!1),w=d??v,C=p??j,k=e.penalties[0],T=rm(k?.timeType??"H"),S=n?.penalties[0],I=rm(S?.timeType??"H"),D=!!e.penaltyId,P=t?ru(t.freeCancellationMinutes):null,A=(0,r.useRef)(null),[R,L]=(0,r.useState)(!1),E=(0,r.useCallback)(()=>{let e=A.current;!e||e.scrollTop+e.clientHeight>=e.scrollHeight-8&&L(!0)},[]);(0,r.useEffect)(()=>{if(!w)return void L(!1);let e=requestAnimationFrame(E),a=setTimeout(E,80);return()=>{cancelAnimationFrame(e),clearTimeout(a)}},[w,E]);let F=(0,r.useCallback)(()=>{R&&(C(!1),c?.())},[R,c,C]);return(0,a.jsxs)(ey.Dialog,{open:w,onOpenChange:C,children:[o?(0,a.jsx)(ef.DialogTrigger,{asChild:!0,children:o}):null,(0,a.jsxs)(ey.DialogContentFullscreen,{hideCloseButton:!0,className:"flex flex-col p-0 md:max-w-[600px]",children:[(0,a.jsx)(ey.DialogFullscreenHeader,{title:t?`${i} 취소규정 안내`:"취소규정 및 수수료 안내",closeAriaLabel:"취소규정 닫기"}),(0,a.jsx)(ey.DialogScrollBody,{ref:A,onScroll:E,className:"px-4 py-6 space-y-6",children:t?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("section",{className:"space-y-3",children:[(0,a.jsxs)(N.Typography,{as:"h3",variant:"strong",children:[i," 취소규정"]}),(0,a.jsx)("ul",{className:"space-y-2",children:(0,a.jsxs)("li",{className:"flex gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-bold",className:"shrink-0",children:"-"}),(0,a.jsxs)(N.Typography,{as:"span",variant:"body-sm-bold",className:"break-keep",children:[i," 요금은 일반 취소규정 대신"," ",(0,a.jsx)("span",{className:"text-ds-primary",children:"예약 완료 시각 기준"}),"의 취소규정이 적용됩니다."]})]})})]}),(0,a.jsxs)("section",{className:"space-y-3",children:[(0,a.jsx)(rg,{}),(0,a.jsxs)(rd.Table,{variant:"bordered",children:[(0,a.jsx)(rd.TableHeader,{children:(0,a.jsxs)(rd.TableRow,{children:[(0,a.jsx)(rd.TableHead,{className:"w-[44%]",children:"취소 요청 시점"}),(0,a.jsx)(rd.TableHead,{className:"w-[56%]",children:"취소·환불 안내"})]})}),(0,a.jsxs)(rd.TableBody,{children:[(0,a.jsxs)(rd.TableRow,{children:[(0,a.jsxs)(rd.TableCell,{className:"break-keep",children:["예약 완료 후 ",P," 이내"]}),(0,a.jsx)(rd.TableCell,{className:"break-keep",children:"수수료 없음 (전액 환불)"})]}),(0,a.jsxs)(rd.TableRow,{children:[(0,a.jsxs)(rd.TableCell,{className:"break-keep",children:["예약 완료 후 ",P," 경과"]}),(0,a.jsx)(rd.TableCell,{className:"break-keep",children:(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-bold",tone:"ds-error",children:(g=`전체 금액의 ${t.penaltyRateAfterGrace}% 수수료`,t.refundableAfterGrace?g:`${g} (환불금 0원)`)})})]})]})]}),(0,a.jsx)(N.Typography,{as:"p",variant:"body-sm-bold",tone:"ds-error",className:"break-keep",children:(y=ru(t.freeCancellationMinutes),t.refundableAfterGrace?`예약 완료 후 ${y}이 지나면 전체 금액의 ${t.penaltyRateAfterGrace}% 취소 수수료가 부과됩니다.`:`예약 완료 후 ${y}이 지나면 ${t.penaltyRateAfterGrace}% 취소 수수료가 적용되어 환불금액은 0원입니다. 환불없이 예약만 취소됩니다.`)})]}),(0,a.jsxs)("section",{className:"space-y-3",children:[(0,a.jsx)(N.Typography,{as:"h3",variant:"strong",children:"취소 방법"}),(0,a.jsxs)("ul",{className:"space-y-2",children:[(0,a.jsxs)("li",{className:"flex gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-bold",className:"shrink-0",children:"-"}),(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-bold",children:"대여 시작 전에는 [전체 > 나의 예약 현황]에서 직접 취소할 수 있으며, 대여 시작까지 24시간 이내인 경우에도 동일하게 적용됩니다."})]}),(0,a.jsxs)("li",{className:"flex gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-bold",className:"shrink-0",children:"-"}),(0,a.jsxs)(N.Typography,{as:"span",variant:"body-sm-bold",children:["예약 완료 후 ",P," 이내는 무료취소, 이후에는 위 취소 수수료 규정이 적용됩니다."]})]})]})]}),(0,a.jsx)(rp,{}),n&&(0,a.jsxs)("section",{className:"space-y-3 border-t border-ds-border pt-6",children:[(0,a.jsx)(N.Typography,{as:"h3",variant:"strong",children:"추가 상품 취소규정"}),(0,a.jsxs)(N.Typography,{as:"p",variant:"body",className:"break-keep",children:["함께 예약한 여행용품·딜리버리·주차대행에는"," ",i," 렌터카 취소규정이 적용되지 않으며, 아래 기존 취소 수수료 규정이 상품 금액에 별도로 적용됩니다."]}),f&&(0,a.jsxs)(N.Typography,{as:"p",variant:"body-sm-bold",className:"break-keep",children:[(0,a.jsx)("span",{className:"text-ds-primary",children:f}),"까지 추가 상품을 무료로 취소할 수 있습니다."]}),S?(0,a.jsxs)(rd.Table,{variant:"bordered",children:[(0,a.jsx)(rd.TableHeader,{children:(0,a.jsxs)(rd.TableRow,{children:[(0,a.jsxs)(rd.TableHead,{children:["잔여",I," 기준"]}),(0,a.jsx)(rd.TableHead,{children:"취소 수수료"})]})}),(0,a.jsxs)(rd.TableBody,{children:[(0,a.jsxs)(rd.TableRow,{children:[(0,a.jsxs)(rd.TableCell,{children:["대여시작"," ",S.remainTime,I," 이전"]}),(0,a.jsx)(rd.TableCell,{children:"수수료 없음"})]}),n.penalties.map((e,r)=>(0,a.jsxs)(rd.TableRow,{children:[(0,a.jsx)(rd.TableCell,{children:rh(e)}),(0,a.jsx)(rd.TableCell,{children:rx(e)})]},r))]})]}):(0,a.jsx)(N.Typography,{as:"p",variant:"body",className:"break-keep",children:"추가 상품별 기존 취소 수수료 규정에 따라 취소 가능 여부와 환불금액이 결정됩니다."}),(0,a.jsxs)(N.Typography,{as:"p",variant:"body-sm-bold",className:"break-keep",children:[i," 렌터카의 무료취소 시간이 끝나도 추가 상품의 취소 가능 여부와 환불금액은 위 기존 규정으로 별도 판단합니다."]})]}),l&&(0,a.jsxs)("section",{className:"space-y-3 border-t border-ds-border pt-6",children:[(0,a.jsx)(N.Typography,{as:"h3",variant:"strong",children:"단독 티켓 취소규정"}),(0,a.jsx)(N.Typography,{as:"p",variant:"body",className:"break-keep",children:"함께 예약한 단독 티켓에는 렌터카 및 다른 추가 상품의 취소 수수료표가 적용되지 않으며, 티켓별 취소·환불 규정이 별도로 적용됩니다."})]})]}):(0,a.jsxs)(a.Fragment,{children:[D&&(0,a.jsxs)("section",{className:"space-y-3",children:[(0,a.jsx)(N.Typography,{as:"h3",variant:"strong",children:"취소규정"}),(0,a.jsxs)("ul",{className:"space-y-2",children:["PTN"!==e.b2bType&&(0,a.jsxs)("li",{className:"flex gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body",className:"shrink-0",children:"-"}),(0,a.jsx)(N.Typography,{as:"span",variant:"body",className:"font-semibold",children:"단독 티켓을 제외한 모든 상품의 취소 규정은 아래와 동일합니다."})]}),f&&(0,a.jsxs)("li",{className:"flex gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-bold",className:"shrink-0",children:"-"}),(0,a.jsxs)(N.Typography,{as:"span",variant:"body-sm-bold",children:[(0,a.jsx)("span",{className:"text-ds-primary",children:f}),"까지"," ",(0,a.jsx)("span",{className:"text-ds-primary",children:"무료 취소"}),"가 가능합니다."]})]}),b&&(0,a.jsxs)("li",{className:"flex gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-bold",className:"shrink-0",children:"-"}),(0,a.jsxs)(N.Typography,{as:"span",variant:"body-sm-bold",children:[(0,a.jsx)("span",{className:"text-ds-primary",children:"예약 확정 후 1시간 이내 : 수수료 없음"}),(0,a.jsx)("br",{}),(0,a.jsx)("span",{className:"text-ds-error",children:"(단, 대여 시작 2시간 이내 또는 대여 24시간 이내 예약 후 업무시간 외 취소 요청건은 미적용)"})]})]}),(0,a.jsxs)("li",{className:"flex gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-bold",className:"shrink-0",children:"-"}),(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-bold",children:"대여 24시간 이전에는 [전체 > 나의 예약 현황]에서 직접 취소가 가능합니다."})]}),(0,a.jsxs)("li",{className:"flex gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-bold",className:"shrink-0",children:"-"}),(0,a.jsxs)(N.Typography,{as:"span",variant:"body-sm-bold",children:[(0,a.jsx)("span",{className:"font-semibold",children:"대여 24시간 이내 취소는 상담사를 통해서만 가능합니다."}),(0,a.jsx)("br",{}),"(업무시간 외 접수 시 다음 영업시간 기준으로 수수료가 적용됩니다.)"]})]})]})]}),(0,a.jsxs)("section",{className:"space-y-3",children:[(0,a.jsx)(rg,{}),(0,a.jsxs)(rd.Table,{variant:"bordered",children:[(0,a.jsx)(rd.TableHeader,{children:(0,a.jsxs)(rd.TableRow,{children:[(0,a.jsxs)(rd.TableHead,{children:["잔여",T," 기준"]}),(0,a.jsx)(rd.TableHead,{children:"취소 수수료"})]})}),(0,a.jsxs)(rd.TableBody,{children:[k&&(0,a.jsxs)(rd.TableRow,{children:[(0,a.jsxs)(rd.TableCell,{children:["대여시작 ",k.remainTime,T," 이전"]}),(0,a.jsx)(rd.TableCell,{children:"수수료 없음"})]}),e.penalties.map((e,r)=>(0,a.jsxs)(rd.TableRow,{children:[(0,a.jsx)(rd.TableCell,{children:rh(e)}),(0,a.jsx)(rd.TableCell,{children:rx(e)})]},r))]})]})]}),(0,a.jsx)(rp,{})]})}),(0,a.jsx)("div",{className:"shrink-0 border-t border-border bg-transparent px-4 py-4",children:(0,a.jsx)(ed.Button,{type:"button",size:"cta-48",className:"w-full rounded-xl",disabled:!R,onClick:F,children:R?"네, 확인했습니다.":"끝까지 스크롤해 주세요"})})]})]})}var rf=e.i(127964);let rb="insurance-terms";function rv({items:e}){return 0===e.length?null:(0,a.jsx)("ul",{className:"space-y-2",children:e.map((e,r)=>(0,a.jsxs)("li",{className:"flex gap-1.5",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"body",className:"shrink-0",children:"-"}),(0,a.jsx)("span",{className:"text-sm leading-relaxed",dangerouslySetInnerHTML:{__html:(0,rf.sanitizeHtml)(e)}})]},r))})}let rj=[{key:"coverageLimit",label:"면책보장한도"},{key:"deductible",label:"자기부담금"},{key:"lossOfUseFee",label:"휴차보상료"},{key:"soloAccident",label:"단독사고"},{key:"eligibility",label:"대여자격"}];function rN({insuranceType:e,terms:r}){return(0,a.jsxs)("div",{className:"space-y-3 rounded-xl bg-brand-bg-gray p-4",children:[(0,a.jsx)("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1",children:(0,a.jsxs)(N.Typography,{as:"span",variant:"strong",children:["선택하신 면책 · ",(0,aW.getInsuranceTypeLabel)(e)]})}),(0,a.jsx)("dl",{className:"space-y-1.5",children:rj.map(({key:e,label:s})=>r[e]?(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(N.Typography,{as:"dt",variant:"body",tone:"muted",className:"w-24 shrink-0",children:s}),(0,a.jsx)(N.Typography,{as:"dd",variant:"body",className:"whitespace-pre-line",children:r[e]})]},e):null)}),r.description?(0,a.jsx)("p",{className:"whitespace-pre-line text-sm leading-relaxed",children:r.description}):null]})}function rw({company:e}){let r=[{label:"상호명",value:e.name},{label:"대표자",value:e.ceo},{label:"주소",value:e.address},{label:"전화번호",value:e.tel}
5,{label:"통신판매업자번호",value:e.mailOrderRegNo},{label:"사업자등록번호",value:e.businessNo},{label:"e-mail",value:e.email}].filter(e=>e.value);return(0,a.jsxs)("section",{className:"space-y-3",children:[(0,a.jsxs)(N.Typography,{as:"h3",variant:"strong",children:[e.name," 판매자정보"]}),(0,a.jsx)("dl",{className:"space-y-1.5",children:r.map(({label:e,value:r})=>(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(N.Typography,{as:"dt",variant:"body",tone:"muted",className:"w-28 shrink-0",children:e}),(0,a.jsx)(N.Typography,{as:"dd",variant:"body",children:r})]},e))})]})}function rC({company:e,data:s,selectedInsuranceType:t,insuranceTerms:i,trigger:n,onConfirm:l,open:o,onOpenChange:c}){let[d,p]=(0,r.useState)(!1),u=o??d,m=c??p,h=(0,r.useRef)(null),x=(0,r.useMemo)(()=>{if(!i)return s;let e={id:rb,title:"면책관련",notice:[],isInsurance:!0},a=s.findIndex(e=>e.isInsurance);if(a>=0)return[...s.slice(0,a),e,...s.slice(a)];let r=s.findIndex(e=>e.isImportant);return r<0?[...s,e]:[...s.slice(0,r),e,...s.slice(r)]},[s,i]),[g,y]=(0,r.useState)(!1),f=(0,r.useCallback)(()=>{let e=h.current;!e||e.scrollTop+e.clientHeight>=e.scrollHeight-8&&y(!0)},[]);(0,r.useEffect)(()=>{if(!u)return void y(!1);let e=requestAnimationFrame(f),a=setTimeout(f,80);return()=>{cancelAnimationFrame(e),clearTimeout(a)}},[u,f]);let b=(0,r.useCallback)(()=>{g&&(m(!1),l?.())},[g,l,m]);return(0,a.jsxs)(ey.Dialog,{open:u,onOpenChange:m,children:[n?(0,a.jsx)(ef.DialogTrigger,{asChild:!0,children:n}):null,(0,a.jsxs)(ey.DialogContentFullscreen,{hideCloseButton:!0,className:"flex flex-col p-0 md:max-w-[600px]",children:[(0,a.jsx)(ey.DialogFullscreenHeader,{title:`${e.name} 대여규정`,closeAriaLabel:"대여규정 닫기"}),(0,a.jsxs)(ey.DialogScrollBody,{ref:h,onScroll:f,className:"px-4 py-6 space-y-12",children:[x.map((e,r)=>(0,a.jsxs)("section",{className:"space-y-4",children:[(0,a.jsx)(N.Typography,{as:"h3",variant:e.isImportant?"heading-lg":"title-lg-bold",children:e.title}),e.id===rb&&i?(0,a.jsx)(rN,{insuranceType:t,terms:i}):null,(0,a.jsx)(rv,{items:e.notice})]},`${e.id}-${r}`)),(0,a.jsx)(eN.SectionBar,{weight:"hairline"}),(0,a.jsx)(rw,{company:e})]}),(0,a.jsx)("div",{className:"shrink-0 border-t border-border bg-transparent px-4 py-4",children:(0,a.jsx)(ed.Button,{type:"button",size:"cta-48",className:"w-full rounded-xl",disabled:!g,onClick:b,children:g?"네, 확인했습니다.":"끝까지 스크롤해 주세요"})})]})]})}let rk=["cancel","rental"],rT=r.default.forwardRef((e,r)=>(0,a.jsx)(ed.Button,{ref:r,type:"button",shape:"outline",tone:"neutral",size:"tab-32",className:"shrink-0",...e,children:"보기"}));function rS({cancelPolicy:e,freeCancelNudge:r,limitedSpecialCancellationPolicy:t,limitedSpecialRatePlanName:i,additionalProductsCancelPolicy:n,hasStandaloneTicket:l,rentalTerms:o,insuranceOptions:c,company:d,className:p}){let{watch:u,setValue:m,trigger:h,formState:{errors:x}}=(0,s.useFormContext)(),g=u("terms"),y=u("insuranceType"),f=c.find(e=>e.insuranceType===y)?.terms,b=K.every(({id:e})=>g[e]),v="string"==typeof x.terms?.message?x.terms.message:null,j=(e,a)=>{m(`terms.${e}`,a,{shouldValidate:!0}),h("terms")},{toggleTerm:w,agreeAll:C,getDialogProps:k}=(0,ro.useTermsAgreement)({checked:g,requiredTerms:rk,onChange:j,onAgreeAll:()=>{K.forEach(({id:e})=>{m(`terms.${e}`,!0,{shouldValidate:!0})}),h("terms")}}),T={terms:(0,a.jsx)(rc.TermsContentDialog,{title:rt.JEJU_PAY_TERMS_DIALOG_TITLE,trigger:(0,a.jsx)(rT,{}),onConfirm:()=>j("terms",!0),children:(0,a.jsx)(rn.JejuPayTermsOfServiceFullContent,{})}),cancel:(0,a.jsx)(ry,{data:e,freeCancelNudge:r,limitedSpecialCancellationPolicy:t,limitedSpecialRatePlanName:i,additionalProductsCancelPolicy:n,hasStandaloneTicket:l,trigger:(0,a.jsx)(rT,{}),...k("cancel")}),rental:(0,a.jsx)(rC,{company:d,data:o,selectedInsuranceType:y,insuranceTerms:f,trigger:(0,a.jsx)(rT,{}),...k("rental")}),privacy:(0,a.jsx)(rc.TermsContentDialog,{title:rt.PRIVACY_POLICY.title,trigger:(0,a.jsx)(rT,{}),onConfirm:()=>j("privacy",!0),children:(0,a.jsx)(ri.JejuPayPrivacyPolicyContent,{})}),third:(0,a.jsx)(rc.TermsContentDialog,{title:rt.THIRD_PARTY_POLICY_TITLE,trigger:(0,a.jsx)(rT,{}),onConfirm:()=>j("third",!0),children:(0,a.jsx)(rl.JejuPayThirdPartyPolicyContent,{})})};return(0,a.jsx)("div",{className:p,"data-error-path":"terms",tabIndex:-1,
5children:(0,a.jsx)(e1.FormSection,{className:"px-4 py-6 bg-ds-white rounded-ds-lg",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("ul",{className:"space-y-2",children:K.map(({id:e,label:r})=>(0,a.jsxs)("li",{className:"flex items-center justify-between gap-2",children:[(0,a.jsxs)(ar.Label,{className:"flex min-w-0 flex-1 cursor-pointer items-center gap-2",children:[(0,a.jsx)(ep.Checkbox,{tone:"primary",checked:g[e],onCheckedChange:a=>w(e,!0===a)}),(0,a.jsx)(N.Typography,{as:"span",variant:"body-md-bold",tone:"cancel"===e?"brand-error":"ds-primary",children:r})]}),T[e]]},e))}),v&&(0,a.jsx)(N.Typography,{variant:"label-md",tone:"ds-error",children:v}),(0,a.jsx)(ed.Button,{type:"button",shape:"outline",tone:"neutral",size:"cta-48",className:"mt-3 w-full text-primary border-primary hover:bg-primary/10 hover:text-primary",onClick:C,children:b?"모두 동의 완료":"모두 확인하였으며 동의합니다."})]})})})}function rI({ratePlanName:e,checked:s,savings:t,cancellationPolicy:i,onCheckedChange:n,className:l}){let o,c=r.useId(),d=`${c}-switch`,p=`${c}-title`,u=`${c}-description`,m=function(e,a){if(e>0){let r=`${e.toLocaleString()}원`;return`${a} 적용 시 일반 요금보다 ${r} 저렴해요`}return`한정 수량으로 제공되는 ${a} 요금이에요`}(t,e),h=(o=ru(i.freeCancellationMinutes),[`예약 완료 후 ${o} 이내에는 무료로 취소할 수 있어요`,i.refundableAfterGrace?`무료취소 시간이 지난 뒤에는 취소 수수료 ${i.penaltyRateAfterGrace}%가 적용돼요`:"무료취소 시간이 지난 뒤에는 환불이 불가해요(환불금 0원)"]);return(0,a.jsx)("div",{className:l,children:(0,a.jsxs)("section",{"aria-labelledby":p,"data-state":s?"checked":"unchecked",className:(0,ec.cn)("flex flex-col gap-4 roun
5ded-ds-lg border px-4 py-5",s?"border-ds-pink bg-brand-bg-pink":"border-ds-border bg-ds-white"),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,a.jsxs)(ar.Label,{htmlFor:d,className:"flex min-w-0 flex-1 cursor-pointer flex-col gap-1",children:[(0,a.jsxs)(N.Typography,{as:"span",id:p,variant:"title-md",tone:s?"inherit":"ds-primary",className:(0,ec.cn)("break-keep",s&&"text-ds-pink"),children:[e," 요금"]}),(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-bold",tone:s?"inherit":"ds-tertiary",className:(0,ec.cn)("break-keep",s&&"text-ds-pink"),children:m})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,a.jsx)(N.Typography,{as:"span",variant:"label-md-bold",tone:s?"inherit":"ds-muted",className:(0,ec.cn)("w-7 text-center tabular-nums",s&&"text-ds-pink"),"aria-hidden":!0,children:s?"ON":"OFF"}),(0,a.jsx)(as.Switch,{id:d,checked:s,onCheckedChange:n,"aria-labelledby":p,"aria-describedby":u,className:"data-[state=checked]:bg-ds-pink"})]})]}),(0,a.jsx)("ul",{id:u,className:"flex flex-col gap-1.5",children:h.map(e=>(0,a.jsxs)("li",{className:"flex items-start gap-1.5",children:[(0,a.jsx)(ei.Check,{className:(0,ec.cn)("mt-0.5 h-4 w-4 shrink-0",s?"text-ds-pink":"text-ds-text-muted"),"aria-hidden":!0}),(0,a.jsx)(N.Typography,{as:"span",variant:"body-sm-regular",tone:s?"ds-secondary":"ds-tertiary",className:"break-keep",children:e})]},e))})]})})}rT.displayName="TermViewButton";let rD=["none","general","complete","partial","super"];function rP({params:e,driverInsurance:T,insuranceType:S,checkoutDraftId:I,payHref:D="/pay"}){let P=(0,t.useRouter)(),{isAuthenticated:A,session:F}=(0,b.useAuth)(),{buildReservationMeta:O,context:_}=(0,o.useB2bContext)(),$=(0,l.getB2bContextId)(_),M=(0,l.isPartnerB2bContext)(_),z=(0,l.isTcmsManualB2bContext)(_),V=(0,c.isBenepiaContext)(_,F),H=F?.loginType==="PARTNER"&&F.partnerId===$,[q,K]=r.useState(!0),Q=!M&&!z,G=r.useMemo(()=>O((0,g.buildClientInfo)()),[O]),Y={...e,...(0,l.buildB2bRequestParam
5s)(_)},{data:et,refetch:ei}=(0,n.useSuspenseQuery)(d.carsQueries.detail(Y)),{data:en,refetch:el,isPending:eo}=(0,i.useQuery)(d.carsQueries.insurancePrices(Y)),ec=r.useRef(A),[ed,ep]=r.useState(null),[eu,em]=r.useState({productDetailId:e.productDetailId,enabled:!0,ratePlanId:null}),eh=eu.productDetailId!==e.productDetailId||eu.enabled,ex=eu.productDetailId===e.productDetailId?eu.ratePlanId:null,eg=r.useRef(null),ey=r.useRef(null),ef=r.useMemo(()=>{let e=new Map;return en?.items.forEach(a=>e.set(a.insuranceType,a.pricing)),et.insuranceOptions.forEach(a=>{if(e.has(a.insuranceType)||!a.pricing)return;let{originalPrice:r,salePrice:s}=a.pricing;e.set(a.insuranceType,{originalPrice:r,carPrice:s,insurancePrice:0,salePrice:s,onsitePrice:0,totalPrice:s,couponDiscount:0,onsiteCouponDiscount:0,payCouponDiscount:0,payPrice:s})}),e},[et.insuranceOptions,en]),eb=r.useMemo(()=>{let e=new Map;return en?.items.forEach(a=>{let r=(0,h.getLimitedSpecialRatePlan)(a.ratePlans,ex);r&&e.set(a.insuranceType,r)}),e},[en,ex]),ev=r.useMemo(()=>{let e=new Map;return eb.forEach((a,r)=>{e.set(r,(0,h.toLimitedSpecialInsurancePricing)(a))}),e},[eb]);r.useEffect(()=>{let e=ec.current;if(ec.current=A,e||!A)return;let a=!1;return ei(),el().then(e=>{if(a||z||V)return;let r=!M&&eh,s=(e.data?.items??[]).reduce((e,a)=>Math.max(e,(r?(0,h.getLimitedSpecialRatePlan)(a.ratePlans,ex)?.pricing??a.pricing:a.pricing).couponDiscount??0),0);s>0&&ep(s)}),()=>{a=!0}},[A,ei,el,z,V,M,eh,eu.enabled,eu.productDetailId,e.productDetailId,ex]);let ej=rD.includes(S)?S:et.selectedInsurance,eN=function({insuranceType:e="general",driverInsuranceEnabled:a=!1}={}){return(0,s.useForm)({resolver:(0,C.zodResolver)(R({driverInsuranceEnabled:a})),defaultValues:{booker:{phone:"",surname:"",name:"",birthDate:""},driver:{phone:"",surname:"",name:"",birthDate:""},insurance:{phone:"",surname:"",name:"",birthDate:""},insuranceType:e,passengerCount:1,driverSameAsBooker:!1,driverIsForeigner:!1,insuranceSameAsDriver:!1,plusPass:!0,additionalItems:[],parking:k.DEFAULT_PARKING_VALUE,terms:{terms:!1,cancel:!1,rental:!1,privacy:!1,third:!1}},mode:"onBlur"})}({insuranceType:ej,driverInsuranceEnabled:T}),ew=function(){let[e,a]=r.useState([]),s=r.useRef(0),[t,i]=r.useState(null),[n,l]=r.useState("pickup"),[o,c]=r.useState({pickup:{},delivery:{}}),[d,p]=r.useState([]),[u,m]=r.useState(!1),h="baby"===t||"convenience"===t||"ticket"===t||"delivery"===t,x=r.useMemo(()=>e.reduce((e,a)=>e+(a.pricePerDay??0)*a.quantity,0),[e]),g=null!=t?W.find(e=>e.id===t)?.label??"추가 요청 사항":"추가 요청 사항";return{selectedItems:e,replaceSelectedItems:e=>{s.current=e.length,a(e)},total:x,removeItem:e=>{a(a=>a.filter(a=>a.id!==e))},setItemOptions:(e,r)=>{a(a=>a.map(a=>a.id===e?{...a,itemOptions:r}:a))},clearAll:()=>a([]),openCategoryId:t,openCategoryLabel:g,openCategory:e=>{i(e),"parking"===e&&l("pickup")},closeModal:()=>{i(null),c({pickup:{},delivery:{}}),p([]),m(!1)},pickupType:n,setPickupType:l,modalQuantities:o,setModalQuantity:(e,a,r)=>{c(s=>({...s,[e]:{...s[e],[a]:Math.max(0,r)}}))},confirmModalItems:e=>{if(!t)return;if("parking"===t){let r="pickup"===n?"김포공항 주차대행":"인천공항 주차대행",t=e?.parkingTotalAmount??U[n]??0;a(e=>[...e.filter(e=>!e.id.startsWith("parking-")),{id:`parking-${n}-${s.current++}`,name:r,quantity:1,pricePerDay:t,sourceCategory:"parking",sourcePickupType:n}]),c({pickup:{},delivery:{}}),i(null);return}if(h){let e=d.map(e=>({...e,id:`${e.id}-${s.current++}`}));a(a=>[...a.filter(e=>e.sourceCategory!==t),...e]),c({pickup:{},delivery:{}}),p([]),i(null);return}let{items:r}=J({categoryId:t,pickupType:n,quantities:o[n]??{}});if(0===r.length)return;let l=r.map(e=>({...e,id:`${e.id}-${s.current++}`}));a(e=>[...e,...l]),c({pickup:{},delivery:{}}),i(null)},getModalSummary:()=>t?"parking"===t?{totalQty:1,totalAmount:U[n]??0,items:[]}:h?{totalQty:d.reduce((e,a)=>e+a.quantity,0),totalAmount:d.reduce((e,a)=>e+(a.pricePerDay??0)*a.quantity,0),items:d}:J({categoryId:t,pickupType:n,quantities:o[n]??{}}):{totalQty:0,totalAmount:0,items:[]},setPendingApiItems:p,hasPromotionItems:u,setHasPromotionItems:m}}(),eC=r.useCallback(a=>{ey.current=e.productDetailId,em({productDetailId:e.productDetailId,enabled:a,ratePlanId:ex})},[e.productDetailId,ex]);r.useEffect(()=>{V&&0!==ew.selectedItems.length&&ew.clearAll()},[ew,ew.selectedItems.length,V]),r.useEffect(()=>{if(!M||!H||!F)return;let{surname:e,name:a}=(0,f.splitKoreanName)(F.name);eN.setValue("driverSameAsBooker",!1),F.phone&&eN.setValue("booker.phone",F.phone,{shouldValidate:!0}),e&&eN.setValue("booker.surname",e,{shouldValidate:!0}),a&&eN.setValue("booker.name",a,{shouldValidate:!0})}
5,[H,M,eN,F]);let{selectedInsuranceType:ek,selectedInsuranceOption:eT,isDriverInsurance:eS,pricing:eI}=function({detail:e,methods:a,additionalServices:s,startDate:t,endDate:i,driverInsurance:n}){let l,o,c=a.watch("insuranceType"),d=e.insuranceOptions??[],p=(0,r.useMemo)(()=>d.find(e=>e.insuranceType===c)??d.find(a=>a.insuranceType===e.selectedInsurance)??d[0],[d,c,e.selectedInsurance]),u=p?.pricing??{salePrice:0,originalPrice:0},m=(0,E.calcRentalDays)(t,i),h=(0,L.calcAdditionalServicesTotal)({items:s.selectedItems,rentalDays:m,driverInsuranceEnabled:n});return{selectedInsuranceType:c,selectedInsuranceOption:p,isDriverInsurance:n,pricing:(o=Math.round(.58*(l=u.salePrice)),{totalPrice:l,additionalTotal:h,depositPrice:o,remainderPrice:l-o,grandTotal:l+h})}}({detail:et,methods:eN,additionalServices:ew,startDate:e.startDate,endDate:e.endDate,driverInsurance:T}),eD=eb.get(ek),eP=!M&&!z&&!V&&void 0!==eD,eA=eP&&eh,eR=es(e.productDetailId,eA?eD?.ratePlanId:null,eA?eD?.penaltyId:et.cancelPolicy.penaltyId),eL=r.useRef(eR);r.useEffect(()=>{eL.current!==eR&&(eL.current=eR,eN.setValue("terms.cancel",!1,{shouldValidate:!0}),eN.trigger("terms"))},[eR,eN]),r.useEffect(()=>{if(eo)return;let a=!1,r=I??(0,x.getReservationReturnDraftId)();if(r&&eg.current!==r)return(0,x.getReservationDraft)(r).then(s=>{if(a||!function({draft:e,currentParams:a,driverInsuranceEnabled:r,isFormDirty:s}){return!s&&e.productDetailId===a.productDetailId&&e.startDate===a.startDate&&e.endDate===a.endDate&&e.driverInsuranceEnabled===r}({draft:s,currentParams:e,driverInsuranceEnabled:T,isFormDirty:eN.formState.isDirty||ey.current===e.productDetailId}))return;let t=s.products?.cars?.[0],i=t?.ratePlan===h.LIMITED_SPECIAL_RATE_PLAN,n=i?t?.ratePlanId??null:null,l=es(s.productDetailId,n,t?.penaltyId??s.penaltyId),o=!i||M||z||V?void 0:(0,h.getLimitedSpecialRatePlan)(en?.items.find(e=>e.insuranceType===s.insuranceType)?.ratePlans,n),c=es(e.productDetailId,o?.ratePlanId,o?.penaltyId??et.cancelPolicy.penaltyId),d={booker:s.booker,driver:{phone:s.driver.phone,surname:s.driver.surname,name:s.driver.name,birthDate:s.driver.birthDate},insurance:s.insurance??er,insuranceType:s.insuranceType,passengerCount:1,driverSameAsBooker:s.driverSameAsBooker,driverIsForeigner:s.driver.isForeigner,insuranceSameAsDriver:s.insuranceSameAsDriver,plusPass:s.plusPass,additionalItems:s.additionalItems.map(e=>({id:e.id,name:e.name,sublabel:e.subLabel,quantity:e.quantity,imagePath:e.imagePath,pricePerDay:e.pricePerDay})),parking:s.parking??k.DEFAULT_PARKING_VALUE,terms:{terms:!!s.terms.terms,cancel:!!s.terms.cancel,rental:!!s.terms.rental,privacy:!!s.terms.privacy,third:!!s.terms.third}};d.terms.cancel=d.terms.cancel&&l===c,eL.current=c,eg.current=r,em({productDetailId:e.productDetailId,enabled:i,ratePlanId:n}),eN.reset(d),ew.replaceSelectedItems(s.additionalItems.map(e=>({id:e.id,name:e.name,sublabel:e.subLabel,quantity:e.quantity,imagePath:e.imagePath,pricePerDay:e.pricePerDay,sourceCategory:e.sourceCategory??e.category,sourcePickupType:e.sourcePickupType,sourceItemId:e.sourceItemId,sourceCompanyId:e.sourceCompanyId,sourceProductId:e.sourceProductId,sourceProductName:e.sourceProductName,sourceOriginalPrice:e.sourceOriginalPrice,sourceVendorId:e.sourceVendorId,sourceExceptionalSelect:e.sourceExceptionalSelect,sourceVendorName:e.sourceVendorName,sourceVendorAddress:e.sourceVendorAddress,sourceFirmId:e.sourceFirmId,sourceModelId:e.sourceModelId,sourceItemCategory:e.sourceItemCategory,itemOptions:e.itemOptions}))),I||(0,x.consumeReservationReturnDraftId)()}).catch(()=>{}),()=>{a=!0}},[ew,I,et.cancelPolicy.penaltyId,T,en,V,eo,M,z,eN,e]);let eE=eA?new Map([...ef,...ev]):ef;r.useEffect(()=>{eN.setValue("additionalItems",ew.selectedItems)},[ew.selectedItems,eN]);let eF=ef.get(ek),eB=ev.get(ek),eO=eE.get(ek),e_=z||V?0:eO?.couponDiscount??0,e$=eF?(0,m.getCarInsuranceTotalPricing)(eF):eI.totalPrice,eM=eO?(0,m.getCarInsuranceTotalPricing)(eO):e$,ez=eO?(0,m.getCarInsurancePayPricing)(eO):eM,eV=(0,m.getCarInsuranceOnsitePricing)(eO),eH=(0,h.getLimitedSpecialSavings)(eF,eB),eq=(0,m.getCarFeeBreakdown)(eF),eK=eD?.pricing.ratePlanDiscount??0,eQ=eA&&eq&&Number.isFinite(eK)&&eK>0?eK:0,eW=eQ>0?eq:(0,m.getCarFeeBreakdown)(eO),eU=eO?(0,m.getCarInsuranceCouponBasePricing)(eO):eI.totalPrice,eG=eO?.onsitePrice??eV,eY=V?0:eI.additionalTotal,eJ=eM+eY,eX=ez+eY,e0=(0,u.useCarServiceHolidays)(),e1=r.useMemo(()=>(0,p.resolveFreeCancelNudge)({startDate:e.startDate,cancelPolicy:et.cancelPolicy,holidays:e0}),[e.startDate,et.cancelPolicy,e0]),e2=(0,E.calcRentalDays)(e.startDate,e.endD
5ate),e5=T?E.DRIVER_INSURANCE_PRICE_PER_DAY_KRW*e2:0,e3=eW?{...eW,carPrice:eW.carPrice+e5}:null,e8=Math.max(0,eY-e5),e6=ew.selectedItems.some(e=>"ticket"===e.sourceCategory),e7=ew.selectedItems.some(e=>"ticket"!==e.sourceCategory),e9=r.useMemo(()=>({totalPrice:eM,additionalTotal:eY,grandTotal:eJ,depositPrice:eX,remainderPrice:eV}),[eY,eV,eM,eX,eJ]),aa=r.useCallback(async e=>{if(!z)return!0;let a=await (0,y.ensureManualReservationBooker)(e.booker);return a.ok?(eN.clearErrors(["booker.phone","booker.surname","booker.name"]),!0):(eN.setError("booker.phone",{type:"manual",message:a.message}),!1)},[z,eN]),{submit:ar,isPending:as,isError:at}=function({params:e,detail:a,methods:s,additionalServices:i,pricing:n,feeBreakdown:l=null,carPriceSnapshot:o,carRatePlan:c,payHref:d,driverInsuranceEnabled:p,reservationInfo:u,familyCardOptionChecked:m=!1,additionalProductsEnabled:g=!0,beforeCreateDraft:y,freeCancelAvailableAtReview:f}){let b=(0,t.useRouter)(),v=(0,Z.useMutation)({mutationFn:x.createReservationDraft}),[j,N]=(0,r.useState)(!1);return{submit:s.handleSubmit(async r=>{var s;let t,x,w;if(j||v.isPending)return;if(N(!0),y&&!await y(r))return void N(!1);await new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e())));let C=(0,E.calcRentalDays)(e.startDate,e.endDate),T=g?i.selectedItems:[],S=T.some(e=>"parking"===e.sourceCategory),I=S?(s=r.parking,(t=(0,k.buildParkingReservationProduct)(s))?[t]:[]):[],D=T.filter(e=>"delivery"===e.sourceCategory).map(e=>({companyId:e.sourceCompanyId??"",productId:e.sourceProductId??e.sourceItemId??"",priceSnapshot:{salePrice:(e.pricePerDay??0)*e.quantity}})),P=function(e){let a=e.filter(e=>"ticket"===e.sourceCategory);if(0===a.length)return[];let r=a.map(e=>({offerId:e.sourceItemId??"",productName:e.sourceProductName??e.name,quantity:e.quantity,salePrice:e.pricePerDay??0})),s=r.reduce((e,a)=>e+a.salePrice*a.quantity,0);return[{deals:r,priceSnapshot:{salePrice:s}}]}(T),A=function(e){let{selectedItems:a,booker:r,startDate:s,endDate:t,rentalDays:i,penaltyId:n}=e,l={name:ea(r.surname,r.name),phone:r.phone};return a.filter(e=>"baby"===e.sourceCategory||"convenience"===e.sourceCategory).map(e=>{let a=e.pricePerDay??0,r=a*e.quantity*i,o=e.sourceItemCategory?.includes("카시트")&&"delivery"===e.sourcePickupType?Array.from({length:e.quantity},(a,r)=>e.itemOptions?.[r]??{ageText:"6개월 미만",backView:!1}):void 0;return{firmId:e.sourceFirmId??"",modelId:e.sourceModelId??"",penaltyId:n,category:e.sourceItemCategory,quantity:e.quantity,startDate:s,endDate:t,userInfo:l,receiverInfo:l,...o?{options:o}:{},priceSnapshot:{salePrice:r,dailyPrice:a}}})}({selectedItems:T,booker:r.booker,startDate:e.startDate,endDate:e.endDate,rentalDays:C,penaltyId:a.cancelPolicy.penaltyId??""}),R={cars:[function(e){let{detail:a,formData:r,params:s,carPriceSnapshot:t,carRatePlan:i,familyCardOptionChecked:n}=e;
5return{companyId:a.company.id,companyName:a.company.name,productId:s.productDetailId,productName:a.name,startDate:s.startDate,endDate:s.endDate,insuranceType:r.insuranceType,reserveDetail:(0,X.buildCarReserveDetail)(a,r.insuranceType),penaltyId:i?.penaltyId??a.cancelPolicy.penaltyId??"",...i?{ratePlan:h.LIMITED_SPECIAL_RATE_PLAN,ratePlanId:i.ratePlanId}:{},isCheckedBenefitOption:r.plusPass,isCheckedFamilyCardOption:n,userInfo:{name:ea(r.booker.surname,r.booker.name),phone:r.booker.phone},driverInfo:{name:ea(r.driver.surname,r.driver.name),lastName:r.driver.surname,firstName:r.driver.name,phone:r.driver.phone,birth:r.driver.birthDate,isForeign:r.driverIsForeigner},priceSnapshot:{salePrice:t.salePrice,onsitePrice:t.onsitePrice}}}({detail:a,formData:r,params:e,carPriceSnapshot:o,carRatePlan:c,familyCardOptionChecked:m})],...I.length>0?{parking:I}:{},...D.length>0?{delivery:D}:{},...P.length>0?{plusPass:P}:{},...A.length>0?{items:A}:{},...p?{driverInsurance:(x=E.DRIVER_INSURANCE_PRICE_PER_DAY_KRW*C,[{driverInfo:{name:ea((w=r.insurance??r.driver).surname,w.name),phone:w.phone,birth:w.birthDate},priceSnapshot:{salePrice:x}}])}:{}};v.mutate({packageGroupId:a.id,productDetailId:e.productDetailId,startDate:e.startDate,endDate:e.endDate,insuranceType:r.insuranceType,penaltyId:c?.penaltyId??a.cancelPolicy.penaltyId??"",cancelPolicy:a.cancelPolicy,freeCancelAvailableAtReview:f,driverInsuranceEnabled:p,car:{companyId:a.c
5ompany.id,name:a.name,imagePath:a.imageUrl,provider:a.company.name,...c?{ratePlanName:c.ratePlanName}:{},...l?{feeBreakdown:l}:{},year:Number(a.modelYear),fuelType:a.fuelType,type:a.type,seats:a.capacity,golfBag:a.golfBagCapacity},booker:r.booker,driver:{...r.driver,isForeigner:r.driverIsForeigner},insurance:p?r.insurance:void 0,driverSameAsBooker:r.driverSameAsBooker,insuranceSameAsDriver:r.insuranceSameAsDriver,plusPass:r.plusPass,additionalItems:T.map(e=>({id:e.id,name:e.name,quantity:e.quantity,pricePerDay:e.pricePerDay,imagePath:e.imagePath,category:e.sourceCategory,subLabel:e.sourceItemCategory??e.sublabel,companyName:e.sourceVendorName,sourceCategory:e.sourceCategory,sourcePickupType:e.sourcePickupType,sourceItemId:e.sourceItemId,sourceCompanyId:e.sourceCompanyId,sourceProductId:e.sourceProductId,sourceProductName:e.sourceProductName,sourceOriginalPrice:e.sourceOriginalPrice,sourceVendorId:e.sourceVendorId,sourceExceptionalSelect:e.sourceExceptionalSelect,sourceVendorName:e.sourceVendorName,sourceVendorAddress:e.sourceVendorAddress,sourceFirmId:e.sourceFirmId,sourceModelId:e.sourceModelId,sourceItemCategory:e.sourceItemCategory,itemOptions:e.itemOptions}
5)),parking:S?r.parking:k.DEFAULT_PARKING_VALUE,terms:r.terms,pricing:n,reservationInfo:u,products:R},{onSuccess:e=>{let a=d.includes("?")?"&":"?";b.push(`${d}${a}draftId=${e.draftId}`)},onError:e=>{N(!1),console.error("예약 draft 생성 실패:",e)}})},e=>(0,ee.scrollToFirstError)(e)),isPending:j||v.isPending,isError:v.isError}}({params:e,detail:et,methods:eN,additionalServices:ew,pricing:e9,feeBreakdown:e3,carPriceSnapshot:{salePrice:eU,onsitePrice:eG},carRatePlan:eA?eD:void 0,payHref:D,driverInsuranceEnabled:T,reservationInfo:G,familyCardOptionChecked:Q&&q,additionalProductsEnabled:!V,beforeCreateDraft:aa,freeCancelAvailableAtReview:!eA&&e1.visible}),ai=eT?.eligibility?.minimumAge??et.insuranceOptions[0]?.eligibility?.minimumAge??0,an=eT?.eligibility?.maximumAge??et.insuranceOptions[0]?.eligibility?.maximumAge??0,[al,ao]=r.useState(!1),[ad,ap]=r.useState(!1),[au,am]=r.useState(!1),[ah,ax]=r.useState(!1),ag=r.useRef(null);return(0,a.jsx)(s.FormProvider,{...eN,children:(0,a.jsxs)(B,{value:ew,children:[(0,a.jsx)(ae,{detail:et,startDate:e.startDate,endDate:e.endDate,className:"py-6 px-4"}),(0,a.jsxs)("div",{className:"flex flex-col gap-3 pb-64",children:[(0,a.jsx)(rs,{detail:et,selectedInsuranceType:ek,selectedInsuranceOption:eT,totalPrice:eM+e5,payPrice:ez+e5,onsitePrice:eV,couponDiscount:e_,feeBreakdown:e3,ratePlanDiscount:eQ,ratePlanName:eD?.ratePlanName,className:"px-4"}),eP&&eD&&(0,a.jsx)(rI,{ratePlanName:eD.ratePlanName,checked:eA,savings:eH,cancellationPolicy:h.LIMITED_SPECIAL_CANCELLATION_POLICY,onCheckedChange:eC,className:"px-4"}),(0,a.jsx)(a1,{options:et.insuranceOptions??[],modelYear:et.modelYear,entryInsurance:ej,pricesByType:new Map(en?.items.map(({insuranceType:e,pricing:a})=>[e,eA?ev.get(e)??a:a])),rentalDays:e2,limitedSpecialRatePlansByType:eA?eb:void 0,onCompareClick:()=>P.push("/insurance-comparison"),className:"px-4"}),(0,a.jsx)(aq,{options:et.options,modelYear:et.modelYear,className:"px-4"}),(0,a.jsx)(e4,{className:"px-4",hidden:M}),(0,a.jsx)("div",{ref:ag,className:"scroll-mt-4",children:(0,a.jsx)(ac,{className:"px-4",hideSameAsBooker:M,vehicleMinimumAge:ai,vehicleMaximumAge:an,pickupDate:e.startDate})}),eS&&(0,a.jsx)(ay,{className:"px-4",vehicleMinimumAge:ai,vehicleMaximumAge:an,pickupDate:e.startDate}),Q&&(0,a.jsx)(w.FamilyCardSaveNudge,{personLabel:"운전자",checked:q,onCheckedChange:K,className:"px-4"}),!V&&(0,a.jsx)(eZ,{startDate:e.startDate,endDate:e.endDate,companyId:et.company.id,packageGroupId:et.id,additionalProducts:et.additionalProducts,className:"px-4"}),(0,a.jsx)(a4,{className:"px-4"}),eA?(0,a.jsx)("div",{className:"flex items-center justify-center px-4 py-3",children:(0,a.jsx)(N.Typography,{as:"span",variant:"body-md-bold",tone:"ds-primary",className:"text-center",children:"예약 완료 후 1시간까지 무료로 취소할 수 있어요"})}):e1.visible?(0,a.jsxs)("div",{className:"flex items-center justify-center gap-1.5 py-3",children:[(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"#007AFF","aria-hidden":!0,children:(0,a.jsx)("path",{d:"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2Zm-1.1 14.5-3.6-3.6 1.4-1.4 2.2 2.2 4.8-4.8 1.4 1.4Z"})}),(0,a.jsx)(N.Typography,{as:"span",variant:"body-md-bold",tone:"ds-accent",children:(0,p.getFreeCancelReviewText)(e1.freeCancelUntil)})]}):null,(0,a.jsx)(rS,{cancelPolicy:et.cancelPolicy,freeCancelNudge:e1,limitedSpecialRatePlanName:eA?eD?.ratePlanName:void 0,limitedSpecialCancellationPolicy:eA?h.LIMITED_SPECIAL_CANCELLATION_POLICY:void 0,additionalProductsCancelPolicy:e7?et.cancelPolicy:void 0,hasStandaloneTicket:e6,rentalTerms:et.rentalTerms,insuranceOptions:et.insuranceOptions,company:et.company,className:"px-4"},eR)]}),(0,a.jsx)(aQ,{onsitePrice:eV,couponDiscount:e_,feeBreakdown:e3,ratePlanDiscount:eQ,ratePlanName:eD?.ratePlanName,extraPrice:e8,payPrice:ez+eY,onPay:()=>{if(M&&!(H&&F?.name?.trim()&&F?.phone))return void am(!0);let a=eN.getValues("driver"),r=eN.getValues("driverIsForeigner");if(/[A-Za-z]/.test(`${a?.surname??""}${a?.name??""}`)&&!r){ag.current?.scrollIntoView({behavior:"smooth",block:"start"}),ax(!0);return}let s=eN.getValues("driver.birthDate");if(s?.length===8){let a=parseInt(s.slice(0,4),10),r=parseInt(s.slice(4,6),10),t=parseInt(s.slice(6,8),10),i=new Date(e.startDate),n=i.getFullYear()-a;return((i.getMonth()+1<r||i.getMonth()+1===r&&i.getDate()<t)&&n--,ai>0&&n<ai)?void ao(!0):an>0&&n>an?void ap(!0):void ar()}ar()},disabled:as,errorMessage:at?"예약 정보 생성에 실패했어요. 잠시 후 다시 시도해주세요.":void 0}),as&&(0,a.jsx)(j.SearchLoadingView,{label:"결제 화면을 불러오는 중이에요"}),(0,a.jsx)(v.ConfirmDialog,{open:al,onOpenChange:ao,title:`해당 차량은 만 ${ai}세 이상만 대여 가능합니다.`}),(0,a.jsx)(v.ConfirmDialog,{open:ad,onOpenChange:ap,title:"최대 대여 가능 연령을 초과했습니다.<br />상세 내용은 대여규정을 확인해 주세요.",confirmLabel:"확인"}),(0,a.jsx)(v.ConfirmDialog,{open:au,onOpenChange:am,title:"파트너 세션의 이름 또는 휴대폰 정보가 없습니다."}),(0,a.jsx)(v.ConfirmDialog,{open:ah,onOpenChange:ax,title:"외국국적 또는 이중국적 이신 경우 [외국인 또는 이중국적 보유자입니다.]를 체크해주세요."}),(0,a.jsx)(v.ConfirmDialog,{open:null!==ed,onOpenChange:e=>{e||ep(null)},heading:"쿠폰 할인 적용 🎉",title:"보유하신 쿠폰 중 최대 할인 쿠폰을 자동 적용했어요.",confirmLabel:"확인",content:(0,a.jsx)("div",{className:"flex flex-col items-center gap-3",children:(0,a.jsxs)(N.Typography,{as:"p",variant:"body-md",tone:"ds-primary",className:"leading-relaxed text-center",children:["보유하신 쿠폰 중 최대 할인 혜택을 받을 수 있는 쿠폰을 ",(0,a.jsx)("br",{})," ","자동으로 적용했어요"]})})})]})})}e.s(["CarsReservationReview",()=>rP],306291)},497086,e=>{"use strict";var a=e.i(843476),r=e.i(618566);e.i(954293);var s=e.i(468470),t=e.i(559864),i=e.i(848097),n=e.i(620286);function l({showBadge:e=!0}={}){let o=(0,r.useRouter)(),c=(0,r.useSearchParams)(),d=(0,i.useCarsInitialDates)(),p=(0,n.useRefreshCarsSearchResults)();return(0,a.jsx)("div",{className:"relative bg-background lg:space-y-6",children:(0,a.jsx)(t.CarsSearchForm,{variant:"page",onSearch:e=>{let a=(0,s.buildCarsSearchUrlParams)(e,new URLSearchParams(c.toString())).toString();p(),o.push(a?`/cars?${a}`:"/cars")},insuranceGroupLabelId:"cars-search-insurance-label-desktop",calendarAvailability:d?.calendarAvailability})})}e.s(["CarsSearch",()=>l])},700239,e=>{"use strict";e.s(["CARS_INSURANCE_BOARD_ID",0,"artc_0069a7be8a879d7"])},471283,e=>{"use strict";var a=e.i(843476),r=e.i(271645),s=e.i(618566),t=e.i(861745),i=e.i(948148),n=e.i(401851),l=e.i(972520),o=e.i(643531),c=e.i(565157);e.i(141898);var d=e.i(725273),p=e.i(68526),u=e.i(804964),m=e.i(809548),h=e.i(310039);e.i(954293);var x=e.i(468470),g=e.i(956797),y=e.i(162685),f=e.i(640911),b=e.i(620286);e.i(765618);var v=e.i(147564),j=e.i(700239),N=e.i(615754);e.i(927805);var w=e.i(401718),C=e.i(76437),k=e.i(881308),T=e.i(611491),S=e.i(494448),I=e.i(13414),D=e.i(601702),P=e.i(842733);let A=["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],R=["sun","mon","tue","wed","thu","fri","sat"];function L({date:e,time:r,placeholder:s,weekdays:t}){if(!e)return(0,a.jsx)("div",{className:"flex flex-1 flex-col items-center justify-center rounded-xl px-3 py-2.5 text-center",children:(0,a.jsx)(k.Typography,{as:"span",variant:"body-md",tone:"ds-tertiary",children:s})});let i=(0,n.format)(e,"yyyy-MM-dd"),l=t[e.getDay()];return(0,a.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center rounded-xl px-3 py-2 text-center",children:[(0,a.jsx)(k.Typography,{as:"span",variant:"body-md",tone:"ds-secondary",children:i}),(0,a.jsxs)(k.Typography,{as:"span",variant:"body-md",tone:"ds-secondary",className:"font-semibold text-ds-primary",children:[l," ",r]})]})}let E={1:p.IconCircle1,2:u.IconCircle2,3:m.IconCircle3};function F({number:e}){let r=E[e]??p.IconCircle1;
5return(0,a.jsx)(r,{"aria-hidden":!0,className:"h-4 w-4 shrink-0 text-base leading-none text-ds-primary"})}function B({filters:e,onSubmitted:n}){(0,I.useSpinnerCharacterPreload)();let p=(0,s.usePathname)(),u=(0,s.useSearchParams)(),m="en"===(0,t.useLocale)(),E=(0,i.useTranslations)("cars-landing"),B=(0,i.useTranslations)("chrome"),O=m?R.map(e=>E(`search.weekdayShort.${e}`)):A,_=(0,y.useCarsSearchPeriodDialogLabels)(m),$=(0,b.useRefreshCarsSearchResults)(),{dateRange:M,setDateRange:z,rentalTime:V,setRentalTime:H,returnTime:q,setReturnTime:K,insuranceTypes:Q,setInsuranceTypes:W,dateOpen:U,setDateOpen:G,calendarAvailability:Y}=e,[J,Z]=(0,r.useState)(!1),X=m?"ko":"en",ee=B(`locale.${X}.short`),ea=B(`locale.${X}.label`),er=(0,D.isPathEnabledForLocale)("/cars","en"),es=(0,P.getLocaleSwitchHref)(p,X,er),et=es?(0,a.jsx)("nav",{"aria-label":B("locale.switcher.aria"),"data-mobile-locale-switch":"cars-search",className:"flex shrink-0 items-center leading-none lg:hidden",children:(0,a.jsxs)("a",{href:es,hrefLang:X,lang:X,"aria-label":`${ea} (${ee})`,className:"inline-flex h-7 items-center gap-1 rounded-full border border-ds-primary/20 px-2 text-xs font-bold text-ds-primary transition-colors hover:border-ds-primary/40 hover:bg-ds-primary/5",children:[(0,a.jsx)(c.Globe2,{className:"h-3.5 w-3.5 shrink-0",strokeWidth:1.8,"aria-hidden":!0}),ee]})}):null,ei=m?g.INTERNATIONAL_RENTER_CDW_OPTIONS:g.CARS_SEARCH_INSURANCE_OPTIONS,en=m?(0,g.normalizeInternationalRenterCdwTypes)(Q):Q,el=e=>{W(a=>{if(m){let r=(0,g.normalizeInternationalRenterCdwTypes)(a);return(0,g.normalizeInternationalRenterCdwTypes)((0,g.toggleInsuranceType)(r,e))}return(0,g.toggleInsuranceType)(a,e)})},eo=()=>{if(!M?.from)return;n?.();let e=(0,x.buildCarsSearchUrlParams)({dateRange:M,rentalTime:V,returnTime:q,insuranceTypes:en},new URLSearchParams(u.toString())),a=e.toString(),r=e.get("startDate"),s=e.get("endDate");r&&s&&(0,f.saveCarSearchHistory)({startDate:r,endDate:s,insurType:e.get("insuranceType")??""}),(0,T.runAfterScrollSettled)(()=>{$(),(0,C.replaceSearchUrl)(p,a)},void 0,{fireEarlyIfNoScroll:!0})},ec=(0,a.jsxs)(N.Button,{type:"button",shape:"plain",size:"cta-40",className:(0,w.cn)("flex w-full items-center gap-2 rounded-ds-lg bg-ds-bg-card py-8 hover:bg-ds-bg-card",U?"ring-2 ring-ds-primary/30":void 0),"aria-label":m?E("search.dateRange.aria"):"대여 및 반납 일시 선택",children:[(0,a.jsx)(L,{date:M?.from,time:V,placeholder:m?E("search.pickupDate.placeholder"):"대여일 선택",weekdays:O}),(0,a.jsx)(l.ArrowRight,{className:"h-4 w-4 shrink-0 text-ds-text-secondary","aria-hidden":!0}),(0,a.jsx)(L,{date:M?.to,time:q,placeholder:m?E("search.returnDate.placeholder"):"반납일 선택",weekdays:O})]});return(0,a.jsxs)("div",{className:(0,w.cn)("flex w-full flex-col gap-8 rounded-b-4xl border border-ds-primary/15 bg-ds-white px-4 pb-10 pt-6 lg:gap-6 lg:px-5 lg:py-6 lg:justify-between lg:rounded-ds-lg",m?"lg:min-h-[296.5px]":"lg:min-h-[298.5px]"),children:[(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2 lg:grid lg:grid-cols-[auto_minmax(56px,auto)_1fr] lg:items-start lg:gap-3",children:[(0,a.jsxs)("div",{className:"flex min-h-7 w-full items-center justify-between gap-2 lg:contents lg:min-h-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 lg:contents lg:[&>*]:mt-1",children:[(0,a.jsx)(F,{number:1}),(0,a.jsxs)(k.Typography,{as:"p",variant:"body-md-regular",tone:"ds-secondary",className:"leading-tight",children:[(0,a.jsx)("span",{className:"lg:hidden",children:m?E("search.step1.label"):"대여 및 반납일시"}),(0,a.jsx)("span",{className:"hidden lg:inline",children:m?(0,a.jsxs)(a.Fragment,{children:[E("search.step1.labelLine1"),(0,a.jsx)("br",{}),E("search.step1.labelLine2")]}):(0,a.jsxs)(a.Fragment,{children:["대여 및",(0,a.jsx)("br",{}),"반납일시"]})})]})]}),et]}),(0,a.jsx)(y.CarsSearchPeriodDialog,{open:U,onOpenChange:G,onSubmit:()=>(0,S.runWhenScrollable)(eo),trigger:ec,dateRange:M,onDateRangeChange:z,rentalTime:V,onRentalTimeChange:H,returnTime:q,onReturnTimeChange:K,calendarDisabled:Y?{before:Y.minDate,after:Y.maxDate}:void 0,calendarMonthCount:Y?.monthCount,calendarStartMonth:Y?.minDate,labels:_})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2 lg:grid lg:grid-cols-[auto_minmax(56px,auto)_1fr] lg:items-start lg:gap-3",children:[(0,a.jsx)("div",{className:"flex items-center justify-between gap-2 lg:contents",children:(0,a.jsxs)("div",{className:"flex items-center gap-2 lg:contents lg:[&>*]:mt-1",children:[(0,a.jsx)(F,{number:2}),(0,a.jsx)("div",{className:"flex flex-col gap-1.5",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)(k.Typography,{as:"p",variant:"body-md-regular",tone:"ds-secondary",className:"leading-tight",children:[(0,a.jsx)("span",{className:"lg:hidden",children:m?E("search.step2.label"):"자차면책제도 선택"}),(0,a.jsx)("span",{className:"hidden lg:inline",children:m?(0,a.jsxs)(a.Fragment,{children:[E("search.step2.labelLine1"),(0,a.jsx)("br",{}),E("search.step2.labelLine2")]}):(0,a.jsxs)(a.Fragment,{children:["자차면책",(0,a.jsx)("br",{}),"제도선택"]})})]}),m?null:(0,a.jsxs)("button",{type:"button",onClick:()=>Z(!0),className:"inline-flex items-center gap-1 text-ds-text-muted transition-colors hover:text-ds-primary lg:hidden","aria-label":"자차면책제도 자세히 보기",children:[(0,a.jsx)(h.IconCircleQuestion,{className:"text-sm","aria-hidden":!0}),(0,a.jsx)(k.Typography,{as:"span",variant:"body-sm-regular",tone:"inherit",className:"leading-none",children:"자세히 보기"})]})]})})]})}),m?(0,a.jsx)("div",{className:"@container",children:(0,a.jsx)("div",{role:"group","aria-label":E("search.step2.label"),className:"grid grid-cols-1 gap-2 @sm:grid-cols-2",children:ei.map(e=>{let r=en.includes(e.id);return(0,a.jsxs)("button",{type:"button","aria-pressed":r,onClick:()=>
5el(e.id),className:(0,w.cn)("flex min-h-[60px] flex-col justify-center gap-0.5 rounded-ds-lg border px-3 py-2.5 text-left transition-colors lg:min-h-[44px] lg:gap-px lg:px-2.5 lg:py-1",r?"border-ds-primary bg-ds-bg-primary":"border-ds-border bg-ds-white hover:bg-ds-bg-card"),children:[(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[r?(0,a.jsx)(o.Check,{className:"h-3.5 w-3.5 shrink-0 text-ds-primary",strokeWidth:3,"aria-hidden":!0}):null,(0,a.jsx)(k.Typography,{as:"span",variant:"body-sm-bold",tone:r?"ds-accent":"ds-primary",className:"leading-tight lg:text-[13px]",children:E(`cdw.card.${e.id}.title`)}),"super"===e.id?(0,a.jsx)(d.IconBolt,{className:"h-3 w-3 shrink-0 text-ds-pink","aria-hidden":!0}):null]}),(0,a.jsx)(k.Typography,{as:"span",variant:"label-lg",tone:"ds-tertiary",className:"whitespace-nowrap leading-tight lg:text-[11px] lg:leading-3",children:E(`cdw.card.${e.id}.helper`)})]},e.id)})})}):(0,a.jsx)("div",{role:"group","aria-label":"자차면책제도",className:"grid grid-cols-2 gap-2",children:g.CARS_SEARCH_INSURANCE_OPTIONS.map(e=>{let r=Q.includes(e.id),s=e.badgeIcon;return(0,a.jsx)(N.Button,{type:"button",shape:r?"soft-outline":"outline",tone:r?"primary":"neutral",size:"cta-40","aria-pressed":r,onClick:()=>el(e.id),className:"justify-center px-2 text-[15px]",children:(0,a.jsxs)("span",{className:"inline-grid grid-cols-[1.125rem_auto_1.125rem] items-center gap-1",children:[(0,a.jsx)(o.Check,{className:(0,w.cn)("h-3.5 w-3.5 justify-self-end",r?null:"invisible"),strokeWidth:3,"aria-hidden":!0}),(0,a.jsx)("span",{className:"text-center",children:e.label}),(0,a.jsx)("span",{className:"inline-flex justify-self-start",children:s?(0,a.jsx)(s,{className:"text-ds-pink","aria-hidden":!0}):null})]})},e.id)})}),m?null:(0,a.jsx)(v.BoardDetailDialog,{open:J,onOpenChange:Z,boardId:j.CARS_INSURANCE_BOARD_ID,label:"자차면책제도"})]})]}),(0,a.jsx)(N.Button,{id:"cars-search-cta",type:"button",size:"cta-48",onClick:eo,className:"w-full font-bold rounded-full",children:m?E("search.submit"):"압도적 최저가 1위 렌트카 가격비교 시작 💪"})]})}e.s(["CarsSearchStacked",()=>B])},253006,e=>{"use strict";var a=e.i(843476),r=e.i(271645);e.i(954293);var s=e.i(559864),t=e.i(848097),i=e.i(378515),n=e.i(878611);function l(){let{searchFormInitial:e,updateSearch:l}=(0,i.useCarsSearchParams)(),o=(0,t.useCarsInitialDates)(),[c,d]=r.useState(!1),[p,u]=r.useState("price"),m=[e.dateRange?.from?.getTime()??"no-from",e.dateRange?.to?.getTime()??"no-to",e.rentalTime??"no-rental",e.returnTime??"no-return",e.insuranceTypes.join(",")].join("|");return(0,a.jsx)("header",{className:"sticky top-0 z-modal hidden w-full border-b border-border bg-background shadow-md lg:block","aria-label":"렌트카 검색 조건",children:(0,a.jsxs)("div",{className:"mx-auto max-w-page space-y-3 px-4 py-3 sm:px-6 lg:px-15",children:[(0,a.jsx)(s.CarsSearchForm,{variant:"results",onSearch:l,insuranceGroupLabelId:"cars-search-results-filter-insurance-label",dateTriggerId:"cars-search-results-filter-date-trigger",initialDateRange:e.dateRange,initialRentalTime:e.rentalTime,initialReturnTime:e.returnTime,initialInsuranceTypes:e.insuranceTypes,calendarAvailability:o?.calendarAvailability},m),(0,a.jsx)(n.SearchSortBar,{sortOptions:n.DEFAULT_SEARCH_SORT_OPTIONS,sortBy:p,onSortChange:u,favoritesOnly:c,onFavoritesOnlyChange:d})]})})}e.s(["CarsSearchResultsFilterBar",()=>l])},649050,e=>{"use strict";e.s(["SEARCH_LOADING_PHRASES",0,{cars:[{titleLines:["제주렌트카 검색 1위","14년째 선택받은 이유"],subtitle:"제주렌트카 가격비교 원조"},{titleLines:["업계 유일무이","최저가 400% 보장제"],subtitle:"돌하루팡만 꼼수없이 현금으로 드려요"},{titleLines:["국내 최대 규모,","2만 대를 한 번에 비교"],subtitle:"제주 렌트카 조합사 98% 입점 완료"},{titleLines:["원하는 차 쉬운 필터로","쉽게 찾아요"],subtitle:"필요한 조건에 맞는 렌트카를 찾아보세요"},{titleLines:["렌트카 인수 시","차량 상태 꼭 촬영하세요"],subtitle:"외관부터 내부까지 꼼꼼히 찍어주세요"},{titleLines:["면책 범위를","한번 더 확인하세요!"],subtitle:"사고 시 보상 한도를 꼭 살펴보세요"},{titleLines:["운전자는 최대 2명까지","등록할 수 있어요!"],subtitle:"운전자 모두 운전면허증이 꼭 필요해요"},{titleLines:["업체 셔틀 정보는","알림톡으로 확인해주세요"],subtitle:"업체마다 셔틀 장소와 운행시간이 달라요"}],flights:[{titleLines:["항공권도 돌하루팡에서","쉽게 찾아요"],subtitle:"시간·가격·항공사별로 한눈에 비교해요"},{titleLines:["꼼수 없는 1등","최저가 400% 보장제"],subtitle:"돌하루팡이 가장 싼 항공편을 찾아드려요"},{titleLines:["공항은 여유 있게","도착해 주세요"],subtitle:"수속·보안 검색에 시간이 걸릴 수 있어요"},{titleLines:["보조배터리는","기내 반입만 가능해요"],subtitle:"100Wh 이하, 최대 5개까지 가능해요"}],stays:[{titleLines:["여기저기 다른 숙소 가격","한눈에 비교해요"],subtitle:"같은 방, 더 저렴한 곳을 찾아드려요"},{titleLines:["원하는 조건만","필터로 쏙쏙 골라보세요"],subtitle:"쉬운 필터로 딱 맞는 숙소를 찾아요"}
5,{titleLines:["입실 전 체크인 시간을","미리 확인하세요"],subtitle:"숙소마다 입실·퇴실 시간이 달라요"},{titleLines:["숙소별 인원 기준을","예약 전 확인해 주세요"],subtitle:"인원 초과 시 추가 요금이 발생할 수 있어요"}],items:[{titleLines:["카시트도 걱정 없이,","최저가 400% 보장해요"],subtitle:"가격 비교는 돌하루팡이 책임질게요"},{titleLines:["픽업부터 딜리버리까지","동선에 맞게 골라요"],subtitle:"원하는 수령 방법을 자유롭게 골라요"},{titleLines:["픽업·반납 위치를","예약 전 확인해 주세요"],subtitle:"품목마다 픽업 위치가 다를 수 있어요"},{titleLines:["우리 아이에게 맞는","유아용품을 선택하세요"],subtitle:"아이 나이와 체중에 맞춰 선택해요"}],globalCars:[{titleLines:["해외렌트카도","최저가 400% 현금 보장"],subtitle:"더 저렴한 가격이 있다면 보상해드려요"},{titleLines:["돌하루팡에선","사고 나도 면책금 0원!"],subtitle:"전 차종 CDW·NOC 면책금까지 보장해요"},{titleLines:["일본 렌트카 이용 전,","국제운전면허증은 필수!"],subtitle:"영문 면허증만으로는 이용할 수 없어요"},{titleLines:["만 6세 이하 아이라면","카시트는 필수예요"],subtitle:"예약할 때 카시트도 함께 선택해 주세요"}],tickets:[{titleLines:["사용하지 않은 티켓은","100% 자동 환불돼요"],subtitle:"별도 환불 신청 없이 자동으로 처리돼요"},{titleLines:["가고 싶은 제주 관광지,","더 저렴하게 즐겨요"],subtitle:"돌하루팡에서 알뜰한 가격으로 구매해요"},{titleLines:["관광지 방문 전 상품","이용안내를 확인하세요"],subtitle:"운영시간과 이용방법이 변경될 수 있어요"},{titleLines:["방문 전 사전 예약이","필요한지 확인해 주세요"],subtitle:"일부 상품은 사전 예약이 필요할 수 있어요"},{titleLines:["티켓을 구매하기 전","사용 시점을 확인하세요"],subtitle:"일부 상품은 일정 시간 후 이용할 수 있어요"}]}])},966335,e=>{"use strict";let a="cars:search-list-snapshots:v3",r="cars:search-scroll-snapshots:v1",s="cars:compare-source-snapshots:v1";function t(e){return JSON.stringify(e)}function i(){try{let e=window.sessionStorage.getItem(a);if(!e)return[];let r=JSON.parse(e);return Array.isArray(r)?r:[]}catch{return[]}}function n(e){try{window.sessionStorage.setItem(a,JSON.stringify(e))}catch{}}function l(e){let a=t(e),r=Date.now(),s=i(),l=s.filter(e=>r-e.savedAt<=6e5);return l.length!==s.length&&n(l),l.find(e=>e.key===a)?.data}function o(e){let a=t(e),r=Date.now();return i().find(e=>e.key===a&&r-e.savedAt<=6e5)?.savedAt}function c(e,a){let r=t(e),s=Date.now();n(i().filter(e=>e.key!==r&&s-e.savedAt<=6e5).concat({key:r,data:a,savedAt:s}).sort((e,a)=>a.savedAt-e.savedAt).slice(0,5))}function d(){try{let e=window.sessionStorage.getItem(r);if(!e)return[];let a=JSON.parse(e);return Array.isArray(a)?a:[]}catch{return[]}}function p(e){try{window.sessionStorage.setItem(r,JSON.stringify(e))}catch{}}function u(e,a,r){let s=Date.now();p(d().filter(a=>a.searchParamsKey!==e&&s-a.savedAt<=6e5).concat({searchParamsKey:e,scrollY:a,visibleCount:r,savedAt:s}).sort((e,a)=>a.savedAt-e.savedAt).slice(0,5))}function m(e){let a=Date.now(),r=d(),s=r.filter(e=>a-e.savedAt<=6e5);return s.length!==r.length&&p(s),s.find(a=>a.searchParamsKey===e)??null}function h(e){let a=Date.now(),r=d().filter(e=>a-e.savedAt<=6e5),s=r.find(a=>a.searchParamsKey===e)??null;return p(r.filter(a=>a.searchParamsKey!==e)),s}function x(){try{let e=window.sessionStorage.getItem(s);if(!e)return[];let a=JSON.parse(e);return Array.isArray(a)?a:[]}catch{return[]}}function g(e){try{window.sessionStorage.setItem(s,JSON.stringify(e))}catch{}}function y(e){let a=Date.now();g(x().filter(r=>r.searchParamsKey!==e&&a-r.savedAt<=6e5).concat({searchParamsKey:e,savedAt:a}).sort((e,a)=>a.savedAt-e.savedAt).slice(0,5))}function f(e){let a=Date.now(),r=x().filter(e=>a-e.savedAt<=6e5),s=r.some(a=>a.searchParamsKey===e);return g(r.filter(a=>a.searchParamsKey!==e)),s}e.s(["consumeCarsCompareSourceSnapshot",()=>f,"consumeCarsSearchScrollSnapshot",()=>h,"readCarsListSnapshot",()=>l,"readCarsListSnapshotSavedAt",()=>o,"readCarsSearchScrollSnapshot",()=>m,"saveCarsCompareSourceSnapshot",()=>y,"saveCarsListSnapshot",()=>c,"saveCarsSearchScrollSnapshot",()=>u])},620645,277467,e=>{"use strict";var a=e.i(843476),r=e.i(271645),s=e.i(861745);function t(e){return"disabled"!==e}e.i(247167),e.i(655495),e.s(["isEnglishBookingOpen",()=>t],277467);let i=(0,r.createContext)("disabled");function n({mode:e,children:r}){return(0,a.jsx)(i.Provider,{value:e,children:r})}function l(){return(0,r.useContext)(i)}function o(){let e=l();return"en"===(0,s.useLocale)()&&!t(e)}e.s(["EnglishBookingFlowProvider",()=>n,"useEnglishBookingBlocked",()=>o,"useEnglishBookingFlowMode",()=>l],620645)},621919,852858,679421,947536,282225,800231,851559,e=>{"use strict";var a=e.i(847768);function r(e,a){return!e&&a}function s(e){return!e}e.s(["normalizeCarImageUrl",()=>a.normalizeImageUrl],621919),e.s(["canShowCouponBenefitBadge",()=>r],852858),e.s(["canOfferDriverInsuranceUpsell",()=>s],679421);
5var t=e.i(843476),i=e.i(271645),n=e.i(657688),l=e.i(522016),o=e.i(618566),c=e.i(595727),d=e.i(381515),p=e.i(463059),u=e.i(707621),m=e.i(14082),h=e.i(7334),x=e.i(881308);e.i(927805);var g=e.i(401718),y=e.i(841936),f=e.i(570081);e.i(645887);var b=e.i(904366),v=e.i(39710),j=e.i(192684),N=e.i(389790),w=e.i(950032),a=a,C=e.i(200439),k=e.i(363968),T=e.i(46221);e.i(211930);var S=e.i(761843),I=e.i(868888);e.i(305918);var D=e.i(429986),P=e.i(170010),A=e.i(722381);e.i(954293);var R=e.i(468470),L=e.i(616001);e.i(765618);var E=e.i(147564),F=e.i(127923);function B({children:e,content:a,label:r,triggerClassName:s,contentClassName:n}){let[l,o]=i.useState(!1),c=i.useRef(null),d=i.useRef(!1),p=i.useId(),u=i.useCallback(()=>{null!==c.current&&(clearTimeout(c.current),c.current=null)},[]),m=i.useCallback(()=>{d.current||(u(),c.current=setTimeout(()=>{d.current||o(!1),c.current=null},120))},[u]);i.useEffect(()=>u,[u]);let h=e=>{e.preventDefault(),e.stopPropagation(),u(),d.current=!0,o(!0)};return(0,t.jsxs)(F.Popover.Root,{open:l,onOpenChange:e=>{e||(d.current=!1),o(e)},children:[(0,t.jsx)(F.Popover.Anchor,{asChild:!0,children:(0,t.jsx)("span",{role:"button",tabIndex:0,"aria-label":r,"aria-expanded":l,"aria-controls":l?p:void 0,onClick:h,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&h(e)},onMouseEnter:()=>{u(),o(!0)},onMouseLeave:m,className:(0,g.cn)("cursor-help focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ds-pink focus-visible:ring-offset-1",s),children:e})}),(0,t.jsx)(F.Popover.Portal,{children:(0,t.jsxs)(F.Popover.Content,{id:p,role:"tooltip",side:"top",align:"center",sideOffset:7,collisionPadding:12,onOpenAutoFocus:e=>e.preventDefault(),onCloseAutoFocus:e=>e.preventDefault(),onMouseEnter:u,onMouseLeave:m,onClick:e=>e.stopPropagation(),className:(0,g.cn)("z-toast flex w-[calc(100vw-24px)] max-w-[288px] flex-col gap-1.5 rounded-ds-md bg-ds-text-primary px-3 py-2.5 text-left text-ds-white shadow-lg outline-none",n),children:[a,(0,t.jsx)(F.Popover.Arrow,{className:"fill-ds-text-primary",width:10,height:5})]})})]})}let O={green:"border-[#34d058] bg-[#e6f9ed] text-[#1a7f37]",pink:"border-ds-pink bg-brand-bg-pink text-ds-pink"},_="border-ds-border bg-ds-bg-card text-ds-text-secondary",$="inline-flex shrink-0 items-center whitespace-nowrap rounded-[4px] border px-[5px] py-px text-[9px] font-bold leading-[1.3] tracking-[-0.4px]";function M({badge:e,className:a}){return(0,t.jsx)(B,{label:`${e.badgeName} 이용 조건 보기`,triggerClassName:(0,g.cn)($,O[e.color]??_,a),content:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("strong",{className:"text-[13px] font-bold leading-[1.4]",children:[e.badgeName," 이용 조건"]}),(0,t.jsx)("span",{className:"break-keep text-[12px] font-medium leading-[1.45]",children:"예약 완료 후 1시간 이내에는 무료로 취소할 수 있어요."}),(0,t.jsx)("span",{className:"break-keep text-[12px] font-medium leading-[1.45]",children:"이 요금은 무료취소 시간이 지난 뒤에는 환불이 불가해요(환불금 0원). 일정을 충분히 확인한 후 결제해 주세요."})]}),children:e.badgeName})}function z({badges:e,className:a}){let r=e?.filter(e=>e.badgeName);return r?.length?(0,t.jsx)(t.Fragment,{children:r.map(e=>e.badgeId===T.LIMITED_SPECIAL_PRICE_BADGE_ID?(0,t.jsx)(M,{badge:e,className:a},`${e.badgeId}:${e.badgeName}`):(0,t.jsx)("span",{className:(0,g.cn)($,O[e.color]??_,a),children:e.badgeName},e.badgeId||e.badgeName))}):null}function V({amount:e}){return(0,t.jsx)("span",{className:"inline-flex w-fit items-center bg-ds-pink py-0.5 pl-2.5 pr-1.5",style:{clipPath:"polygon(0 0, 3px 12.5%, 0 25%, 3px 37.5%, 0 50%, 3px 62.5%, 0 75%, 3px 87.5%, 0 100%, 100% 100%, 100% 0)"},children:(0,t.jsxs)(x.Typography,{as:"span",variant:"label-sm-bold",tone:"white",className:"whitespace-nowrap leading-none",children:["쿠폰 최대"," ",(0,t.jsxs)(x.Typography,{as:"span",variant:"label-sm-bold",tone:"brand-yellow",children:[e.toLocaleString(),"원"]})," ","할인"]})})}function H({planTitle:e,planDetail:a,extraPlanSlot:r,priceLabel:s,ratePlanName:i,maxCouponDiscount:n}){return(0,t.jsxs)("div",{className:"flex shrink-0 flex-col justify-between items-end gap-1 text-right",children:[n>0&&(0,t.jsx)(V,{amount:n}),(0,t.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,t.jsxs)("div",{className:"flex flex-col items-end gap-0.5 leading-tight",children:[(0,t.jsx)(x.Typography,{as:"p",variant:"label-md-bold",tone:"ds-primary",children:e}),(0,t.jsx)(x.Typography,{as:"p",variant:"label-md-bold",tone:"ds-primary",children:a}),r]}),i&&(0,t.jsx)(z,{badges:[(0,T.createLimitedSpecialPriceBadge)(i)]}),(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5",children:[(0,t.jsx)(x.Typography,{as:"span",variant:"heading-md",tone:i?"inherit":"ds-primary",className:(0,g.cn)("leading-none",i&&"text-ds-pink"),children:s}),(0,t.jsx)(p.ChevronRight,{className:"h-5 w-5 shrink-0 text-ds-text-muted","aria-hidden":!0,strokeWidth:1.5})]})]})]})}function q({href:e,onNavigate:a,mascotSrc:r,mascotAlt:s,message:i,messageTone:o,planTitle:c,planDetail:d,priceLabel:p,ratePlanName:u,maxCouponDiscount:m,extraPlanSlot:h}){return(0,t.jsxs)(l.default,{href:e,onClick:r=>a(e,r),className:(0,g.cn)("relative block min-h-28 overflow-hidden rounded-ds-lg border border-ds-border bg-ds-white p-3","hover:bg-ds-bg-button"),children:[(0,t.jsx)("div",{className:"pointer-events-none absolute -bottom-2 left-0 h-24 w-24",children:(0,t.jsx)(n.default,{src:r,alt:s,fill:!0,className:"object-contain object-bottom",sizes:"96px"})}),(0,t.jsxs)("div",{className:"flex min-h-20 justify-between gap-3 pl-20",children:[(0,t.jsx)(x.Typography,{as:"p",variant:"label-md-bold",tone:o,className:"leading-snug",children:i}),(0,t.jsx)(H,{planTitle:c,planDetail:d,extraPlanSlot:h,priceLabel:p,ratePlanName:u,maxCouponDiscount:m})]})]})}function K({open:e,onOpenChange:r,car:s,displayOffer:l,optionIndex:p,rentalPeriodText:g,onNavigate:T}){let F=(0,o.useRouter)(),B=(0,C.useReservationHrefParams)(),O=(0,o.useSearchParams)(),{context:_}=(0,I.useB2bContext)(),{session:$}=(0,A.useAuth)(),M=(0,D.isPartnerLoginRequired)(_,$),z=(0,S.getB2bContextId)(_),[V,H]=(0,i.useState)(null),[K,Q]=(0,i.useState)(!1);(0,L.useCloseOnCarsStaleRefresh)(()=>{e&&r(!1)});let{startDate:W,endDate:U}=B,G=(0,i.useMemo)(()=>
5{if(W&&U)return(0,k.calcRentalDays)(W,U);let e=(0,f.startOfSeoulDay)();return(0,k.calcRentalDays)(e.toISOString(),(0,c.addDays)(e,1).toISOString())},[W,U]),Y=(0,j.getCouponAppliedPrice)(l),J=l.limitedSpecialPrice?.ratePlanName,Z=(0,j.getMaxCouponDiscount)(l),X=k.DRIVER_INSURANCE_PRICE_PER_DAY_KRW*G,ee=e=>`₩ ${e.toLocaleString()}`,ea=(0,b.createReservationHref)({productDetailId:l.productDetailId,optionIndex:p,...B,driverInsurance:!1,insuranceType:l.insurance}),er=(0,b.createReservationHref)({productDetailId:l.productDetailId,optionIndex:p,...B,driverInsurance:!0,insuranceType:l.insurance}),es=(0,N.getCarsSearchInsuranceTypeLabel)(l.insurance),et=`${(0,w.getEligibilitySummary)(l.eligibility)} 이상`,ei=(0,a.normalizeImageUrl)(s.imageUrl),en=(0,j.formatCapacity)(s.capacity),el=(0,j.formatBaggage)(s.baggageCapacity),{durationText:eo,periodDisplayText:ec}=(0,i.useMemo)(()=>{let e=(0,R.readCarsSearchInitialState)(new URLSearchParams(O.toString())),a=(0,f.startOfSeoulDay)(),r=e.dateRange??{from:a,to:(0,c.addDays)(a,1)};if(!r.from||!r.to)return{durationText:null,periodDisplayText:null};let s=Math.max(1,(0,d.differenceInCalendarDays)(r.to,r.from)),t=e.rentalTime??"10:00",i=e.returnTime??"10:00";return{durationText:`${s}박${s+1}일`,periodDisplayText:`${(0,y.formatDateForPanel)(r.from,t)} → ${(0,y.formatDateForPanel)(r.to,i)}`}},[O]),ed=`총 ${eo?`${eo} `:""}렌터카 최저가`,ep=`+ ${es} + ${et}`,eu=(e,a)=>{if(M){a.preventDefault(),H(e);return}(a.preventDefault(),T)?T(e):F.push(e)};return(0,t.jsxs)(m.Dialog,{open:e,onOpenChange:r,disableHistoryBack:!!T,children:[(0,t.jsxs)(m.DialogContentFullscreen,{hideCloseButton:!0,cardBreakpoint:"lg",className:"flex flex-col overflow-hidden bg-background p-0 lg:max-w-[420px]",onOpenAutoFocus:e=>e.preventDefault(),children:[(0,t.jsx)(m.DialogFullscreenHeader,{title:""}),(0,t.jsxs)("div",{className:"flex min-h-0 w-full flex-1 flex-col overflow-y-auto",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-3 px-4 pt-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-center gap-3 pr-8",children:[(0,t.jsx)("div",{className:"relative h-14 w-20 shrink-0",children:(0,t.jsx)(n.default,{src:ei,alt:s.name,fill:!0,className:"object-contain"})}),(0,t.jsxs)("div",{className:"min-w-0 space-y-0.5",children:[(0,t.jsx)(x.Typography,{as:"p",variant:"title-md",tone:"ds-primary",className:"min-w-0",children:s.name}),(0,t.jsx)(v.CarSpecRow,{variant:"plain",carType:s.type,seatsLabel:en,baggageLabel:el})]})]}),(ec??g)&&(0,t.jsx)(x.Typography,{as:"p",variant:"body-sm",tone:"ds-primary",className:"text-center",children:ec??g})]}),(0,t.jsx)(h.SectionBar,{weight:"hairline",className:"mt-4"}),(0,t.jsxs)("section",{className:"flex flex-col gap-5 py-8 px-4","aria-label":"슈퍼팡 요금 안내",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(x.Typography,{as:"p",variant:"title-md",tone:"ds-primary",className:"text-center",children:"새로운 슈퍼팡 요금이 나왔어요."}),(0,t.jsxs)(x.Typography,{as:"p",variant:"body-sm-bold",tone:"ds-primary",className:"text-center leading-relaxed",children:["슈퍼팡 요금을 선택하시면",(0,t.jsx)(x.Typography,{as:"span",variant:"body-sm-bold",tone:"ds-accent",className:"py-0.5 pl-1 underline underline-offset-2",children:"렌터카 플랫폼 최초"}),"로 ",(0,t.jsx)("br",{}),"운전자 나 자신 도 보호 받을 수 있어요."]})]}),(0,t.jsx)("button",{type:"button",onClick:()=>Q(!0),className:"inline-flex items-center justify-center gap-1 underline-offset-2 hover:underline",children:(0,t.jsx)(x.Typography,{as:"span",variant:"body-sm-bold",tone:"ds-accent",children:"① 운전자보험 자세히보기"})}),(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)(q,{href:ea,onNavigate:eu,mascotSrc:"/images/cars/parking/basic_dolpang.png",mascotAlt:"기본 돌팡",messageTone:"ds-primary",message:(0,t.jsxs)(t.Fragment,{children:["괜찮아요.",(0,t.jsx)("br",{}),"그냥 이대로 탈래요."]}),planTitle:ed,planDetail:ep,priceLabel:ee(Y),ratePlanName:J,maxCouponDiscount:Z}),(0,t.jsx)(q,{href:er,onNavigate:eu,mascotSrc:"/images/cars/parking/suparman_dolpang.png",mascotAlt:"슈퍼팡 돌팡",messageTone:"ds-primary",message:(0,t.jsxs)(t.Fragment,{children:["오 좋아요. 슈퍼팡!",(0,t.jsx)("br",{}),"안심하고 운전할 수 있게 해주세요!"]}),planTitle:ed,planDetail:ep,extraPlanSlot:(0,t.jsxs)(x.Typography,{as:"p",variant:"label-md",tone:"ds-accent",className:"inline-flex items-center gap-1",children:["+ 운전자 보험",(0,t.jsx)("span",{role:"button",tabIndex:0,"aria-label":"운전자보험 안내 보기",onClick:e=>{e.preventDefault(),e.stopPropagation(),Q(!0)},onKeyDown:e=>
5{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),e.stopPropagation(),Q(!0))},className:"inline-flex shrink-0 rounded focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:(0,t.jsx)(u.CircleAlert,{className:"h-3.5 w-3.5 text-ds-primary","aria-hidden":!0})})]}),priceLabel:ee(Y+X),ratePlanName:J,maxCouponDiscount:Z})]})]})]})]}),(0,t.jsx)(P.PartnerLoginDialog,{open:!!V,onOpenChange:e=>{e||H(null)},partnerId:z,pendingHref:V}),(0,t.jsx)(E.BoardDetailDialog,{open:K,onOpenChange:Q,boardId:"artc_006aa100858cdce",label:"운전자보험 안내"})]})}e.s(["CarOfferBadges",()=>z],947536),e.s(["CarReservationUpsellDialog",()=>K],282225);var Q=e.i(948148);function W({className:e,variant:a="block"}){let r=(0,Q.useTranslations)("cars-search");return"inline"===a?(0,t.jsx)(x.Typography,{as:"p",variant:"label-md",tone:"ds-muted",className:e,children:r("booking.unavailable.note")}):(0,t.jsxs)("div",{className:(0,g.cn)("flex flex-col items-center gap-0.5 text-center",e),children:[(0,t.jsx)(x.Typography,{as:"p",variant:"body-sm-bold",tone:"ds-secondary",children:r("booking.unavailable.label")}),(0,t.jsx)(x.Typography,{as:"p",variant:"label-lg",tone:"ds-tertiary",children:r("booking.unavailable.note")})]})}e.i(277467),e.i(620645),e.s(["EnglishBookingNotice",()=>W],800231);var U=e.i(861745),G=e.i(977900);let Y={금연:{optionId:"CLN001",labelKey:"nonSmoking"},항균소독:{optionId:"CLN002",labelKey:"sanitized"},공기청정시스템:{optionId:"CLN003",labelKey:"airPurifier"},후방카메라:{optionId:"SFT001",labelKey:"rearCamera"},후방센서:{optionId:"SFT002",labelKey:"rearSensor"},블랙박스:{optionId:"SFT003",labelKey:"dashcam"},에어백:{optionId:"SFT004",labelKey:"airbag"},"4륜구동":{optionId:"SFT005",labelKey:"awd"},후측방경고등:{optionId:"SFT006",labelKey:"blindSpot"},차선이탈방지보조:{optionId:"SFT007",labelKey:"laneKeep"},전방추돌방지:{optionId:"SFT008",labelKey:"forwardCollision"},블루투스:{optionId:"CVN001",labelKey:"bluetooth"},열선핸들:{optionId:"CVN002",labelKey:"heatedWheel"},열선시트:{optionId:"CVN003",labelKey:"heatedSeat"},통풍시트:{optionId:"CVN004",labelKey:"ventilatedSeat"},네비게이션:{optionId:"CVN005",labelKey:"navigation"},스마트키:{optionId:"CVN006",labelKey:"smartKey"},썬루프:{optionId:"CVN007",labelKey:"sunroof"},어라운드뷰:{optionId:"SFT009",labelKey:"aroundView"},낚시용품:{optionId:"ETC001",labelKey:"fishingGear"},반려동물:{optionId:"ETC002",labelKey:"pets"}},J={글라스루프:"glassRoof",글래스루프:"glassRoof",낚시용품지참가능:"fishingGearAllowed",반려동물동반가능:"petsAllowed"},Z={휘발유:"gasoline",가솔린:"gasoline",경유:"diesel",디젤:"diesel",LPG:"lpg",엘피지:"lpg",하이브리드:"hybrid",전기:"electric",전기차:"electric"};function X(){let e="en"===(0,U.useLocale)(),a=(0,Q.useTranslations)("cars-search");return{isEnglish:e,t:a,insurance:r=>e?a(`cdw.label.${r}`):(0,N.getCarsSearchInsuranceTypeLabel)(r),eligibility:r=>e?Number.isFinite(r?.minimumAge)?a("card.eligibility.summary",{age:r.minimumAge}):"":`${(0,w.getEligibilitySummary)(r)} 이상`,capacity:r=>e?a("card.spec.capacity",{count:r}):(0,j.formatCapacity)(r),fuel:r=>{let s=(r??"").trim();if(!e||!s)return s;let t=Z[s];return t?a(`card.spec.fuel.${t}`):s},luggage:r=>!Number.isFinite(r)||r<=0?null:e?a("card.spec.luggage",{count:r}):`골프백 ${r}개`,modelYear:r=>{let s=String(r??"").trim();return s?e?a("card.spec.modelYear",{year:s}):(0,j.formatModelYear)(r):""},availableQuantity:r=>{let s=(0,G.getAvailableQuantityDisplay)(r);if(!s)return null;if(!e)return{label:s.label,speech:s.speech,short:`${s.countText}대`};let t=s.countText;return{label:a("card.availableQuantity.label",{count:t}),speech:a("card.availableQuantity.speech",{count:t}),short:a("card.availableQuantity.short",{count:t})}},feature:e=>e,catalogFeature:r=>{if(!e)return r;let s=Y[r]?.labelKey??J[r];return s?a(`features.${s}`):r}}}function ee(){let e="en"===(0,U.useLocale)(),a=(0,o.useSearchParams)();return(0,i.useMemo)(()=>{if(!e)return null;let r=(0,R.readCarsSearchInitialState)(new URLSearchParams(a.toString())),s=(0,f.startOfSeoulDay)(),t=r.dateRange??{from:s,to:(0,c.addDays)(s,1)};if(!t.from||!t.to)return null;let i=r.rentalTime??"10:00",n=r.returnTime??"10:00",l=(0,y.formatDateRangeParts)(t,i,n,"en");return l.to?`${l.from} → ${l.to}`:l.from},[e,a])}e.s(["CAR_FEATURE_CATALOG",0,Y,"useCarSearchLabels",()=>X,"useEnglishRentalPeriodText",()=>ee],851559)},90953,e=>{"use strict";var a=e.i(494739);
5e.s(["IconYoutubeBrands",()=>a.ReactComponent])},490600,187893,363201,e=>{"use strict";var a=e.i(271645),r=e.i(618566),s=e.i(266027),t=e.i(912598);e.i(954293);var i=e.i(44128),n=e.i(619273),l=e.i(933818),o=e.i(340482);e.i(655495);var c=e.i(158264);async function d(a,r){let{loadMock:s}=await e.A(237099);return s(a,r)}async function p(e,a="normal"){return(0,c.selectApiSource)({real:()=>(0,o.searchCars)(e),mock:()=>d(e,a)})}let u={all:()=>["cars"],lists:()=>[...u.all(),"list"],list:(e,a="normal")=>{let r="normal"===a?[]:[a];return(0,l.queryOptions)({queryKey:[...u.lists(),e,...r],queryFn:()=>p(e,a),placeholderData:n.keepPreviousData})}};e.s(["carsSearchQueries",0,u],187893);var m=e.i(595727),h=e.i(468470);e.i(927805);var x=e.i(841936),g=e.i(570081);function y(){let e=(0,r.useSearchParams)();return(0,a.useMemo)(()=>{let a=(0,h.readCarsSearchInitialState)(new URLSearchParams(e.toString())),r=(0,g.startOfSeoulDay)(),s={from:r,to:(0,m.addDays)(r,1)},t=a.dateRange??s,i=a.rentalTime??"10:00",n=a.returnTime??"10:00",{from:l,to:o}=(0,x.formatDateRangeParts)(t,i,n);return o?`${l} → ${o}`:null},[e])}e.s(["useRentalPeriodText",()=>y],363201);let f="cars:comparison-snapshots:v2";function b(){try{let e=window.sessionStorage.getItem(f);if(!e)return[];let a=JSON.parse(e);return Array.isArray(a)?a:[]}catch{return[]}}function v(e){try{window.sessionStorage.setItem(f,JSON.stringify(e))}catch{}}function j({packageGroupId:e,searchParamsKey:a,car:r,rentalPeriodText:s}){let t=`${e}::${a}`,i=Date.now();v(b().filter(e=>e.key!==t&&i-e.savedAt<=6e5).concat({key:t,packageGroupId:e,searchParamsKey:a,car:r,rentalPeriodText:s,savedAt:i}).sort((e,a)=>a.savedAt-e.savedAt).slice(0,10))}function N(e){let n=(0,r.useSearchParams)().toString(),l=(0,i.useCarsSearchRequest)(),o=y(),c=(0,t.useQueryClient)(),d=u.list(l),p=c.getQueryData(d.queryKey),m=a.useMemo(()=>{let a,r,s,t;return a=`${e}::${n}`,r=Date.now(),t=(s=b().filter(e=>r-e.savedAt<=6e5)).find(e=>e.key===a)??null,s.length!==b().length&&v(s),t},[e,n]),{data:h,isPending:x}=(0,s.useQuery)({...d,enabled:!p&&!m,initialData:p,staleTime:p?1/0:d.staleTime}),g=h?.items.find(a=>a.packageGroupId===e)??m?.car??null,f=o??m?.rentalPeriodText??null;return a.useEffect(()=>{g&&j({packageGroupId:e,searchParamsKey:n,car:g,rentalPeriodText:f})},[g,e,n,f]),{car:g,rentalPeriodText:f,isLoading:x&&!p&&!m}}e.s(["saveComparisonCarSnapshot",()=>j,"useComparisonCar",()=>N],490600)},178711,e=>{"use strict";var a=e.i(843476),r=e.i(271645),s=e.i(618566),t=e.i(266027),i=e.i(861745),n=e.i(948148),l=e.i(367240);e.i(211930);var o=e.i(761843),c=e.i(868888);e.i(645887);var d=e.i(650113);e.i(954293);var p=e.i(378515),u=e.i(44128),m=e.i(187893),h=e.i(147456);e.i(927805);var x=e.i(401718),g=e.i(805196),y=e.i(869176),f=e.i(615754),b=e.i(180814),v=e.i(7334),j=e.i(881308),N=e.i(232475),w=e.i(35106),C=e.i(649050),k=e.i(494448);e.i(213577);var T=e.i(125729);e.i(248092);var S=e.i(208227),I=e.i(966335),D=e.i(657688),P=e.i(522016),A=e.i(607486),R=e.i(205125),L=e.i(664659),E=e.i(463059),F=e.i(655900),B=e.i(790597),O=e.i(158147),_=e.i(282722),$=e.i(661210);function M({className:e,fallback:s,alt:t,...i}){let[n,l]=r.useState(!1),[o,c]=r.useState(!1);return o&&void 0!==s?(0,a.jsx)(a.Fragment,{children:s}):(0,a.jsxs)(a.Fragment,{children:[!n&&(0,a.jsx)($.Skeleton,{className:"absolute inset-0 h-full w-full rounded-[inherit]"}),(0,a.jsx)(D.default,{...i,alt:t,className:(0,x.cn)("transition-opacity duration-300",n?"opacity-100":"opacity-0",e),onLoad:()=>l(!0),onError:()=>c(!0)})]})}var z=e.i(314172),V=e.i(842733),H=e.i(904366),q=e.i(39710),K=e.i(192684),Q=e.i(621919),W=e.i(642542),U=e.i(445397),G=e.i(200439),Y=e.i(189023);e.i(305918);var J=e.i(429986),Z=e.i(170010),X=e.i(722381),ee=e.i(790149),ea=e.i(534442);e.i(73991);var er=e.i(554271),es=e.i(363201),et=e.i(972520),ei=e.i(39312);e.i(141898);var en=e.i(310039),el=e.i(281280),eo=e.i(46221);e.i(765618);var ec=e.i(147564),ed=e.i(852858),ep=e.i(679421),eu=e.i(282225),em=e.i(800231),eh=e.i(620645);let ex="font-legacy-price font-medium tracking-[-1px] leading-[19.6px]";var eg=e.i(851559);let ey={background:"linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(180,240,255,0.55) 50%, rgba(255,255,255,0) 100%)"};function ef({car:e,selectedOffer:t,rentalPeriodText:i,isFavorite:n,onToggleFavorite:l}){let d=(0,eg.useCarSearchLabels)(),{t:p}=d,u=(0,eh.useEnglishBookingBlocked)(),m=(0,s.useRouter)(),h=(0,G.useReservationHrefParams)(),{context:g}=(0,c.useB2bContext)(),{session:y}=(0,X.useAuth)(),[b,v]=(0,r.useState)(!1),[N,w]=(0,r.useState)(null),[C,k]=(0,r.useState)(!1),T=t??(0,el.getLowestPriceOption)(e)?.option??e.offers[0],S=(0,ed.canShowCouponBenefitBadge)(d.isEnglish,!!T&&(0,eo.hasOfferCouponDiscount)(T)),I=(0,U.useCarServiceHolidays)(),P=(0,r.useMemo)(()=>!T?.limitedSpecialPrice&&(0,W.resolveFreeCancelNudge)({startDate:h.startDate,cancelPolicy:e.cancelPolicy,holidays:I}
5).visible,[T?.limitedSpecialPrice,h.startDate,e.cancelPolicy,I]);if(!T)return null;let A=e.offers.indexOf(T),R=A>=0?A:0,L=d.eligibility(T.eligibility),E=d.insurance(T.insurance),F=(0,K.formatKrwNumber)((0,K.getCouponAppliedPrice)(T)),O=(0,o.getB2bContextId)(g),_=(0,o.isPartnerB2bContext)(g),$=(0,J.isPartnerLoginRequired)(g,y),M=(0,ep.canOfferDriverInsuranceUpsell)(d.isEnglish),z=(0,H.createReservationHref)({productDetailId:T.productDetailId,optionIndex:R,...h,driverInsurance:!1,insuranceType:T.insurance,locale:d.isEnglish?"en":"ko"}),V=()=>{M?_?$?w(z):m.push(z):v(!0):u||($?w(z):m.push(z))},q=(0,a.jsxs)(a.Fragment,{children:[M?(0,a.jsx)(eu.CarReservationUpsellDialog,{open:b,onOpenChange:v,car:e,displayOffer:T,optionIndex:R,rentalPeriodText:i}):null,(0,a.jsx)(Z.PartnerLoginDialog,{open:!!N,onOpenChange:e=>{e||w(null)},partnerId:O,pendingHref:N}),d.isEnglish?null:(0,a.jsx)(ec.BoardDetailDialog,{open:C,onOpenChange:k,boardId:"artc_0069ae6740248cd",label:"최저가 보장"})]});return d.isEnglish?(0,a.jsxs)("div",{className:(0,x.cn)("grid w-full items-center gap-x-3 gap-y-1.5 rounded-ds-lg border border-[#DCEAFB]","bg-linear-to-b from-[#F4F9FF] to-[#ECF4FF] p-3.5","grid-cols-[minmax(0,1fr)_auto] grid-rows-[auto_auto_auto]","lg:grid-cols-[minmax(0,1fr)_auto_auto] lg:grid-rows-[auto_auto] lg:gap-x-4 lg:px-4 lg:py-2.5"),children:[(0,a.jsx)("div",{className:"col-span-2 col-start-1 row-start-1 flex flex-wrap items-center gap-x-2 gap-y-1 lg:col-span-1 lg:row-start-1",children:(0,a.jsxs)(j.Typography,{as:"p",variant:"label-lg-bold",tone:"brand-error",children:[E," + ",L]})}),(0,a.jsx)("div",{className:"col-span-2 col-start-1 row-start-2 flex flex-wrap items-center gap-x-2 gap-y-1 lg:col-span-1 lg:row-start-2",children:u?(0,a.jsx)(em.EnglishBookingNotice,{variant:"inline"}):(0,a.jsx)(j.Typography,{as:"p",variant:"label-md",tone:"ds-tertiary",children:p("card.pricePeriod")})}),(0,a.jsxs)(j.Typography,{as:"span",variant:"display-md-bold",tone:"ds-primary",className:(0,x.cn)("col-start-1 row-start-3 self-center whitespace-nowrap lg:col-start-2 lg:row-span-2 lg:row-start-1",ex),children:["₩ ",F]}),(0,a.jsx)(f.Button,{type:"button",shape:"solid",tone:"primary",size:"cta-40",disabled:u,className:"col-start-2 row-start-3 justify-self-end whitespace-nowrap px-5 lg:col-start-3 lg:row-span-2 lg:row-start-1 lg:self-center",onClick:V,rightIcon:u?void 0:(0,a.jsx)(et.ArrowRight,{className:"h-4 w-4","aria-hidden":!0}),children:p(u?"booking.unavailable.label":"card.instantBooking")}),q]}):(0,a.jsxs)("div",{className:"group/cta relative flex h-full w-full flex-col overflow-hidden rounded-r-ds-lg bg-brand-bg-gray",children:[(0,a.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),l()},"aria-pressed":n,"aria-label":n?"찜 해제":"찜하기",className:(0,x.cn)("absolute right-2 top-2 z-raised h-8 w-8 cursor-pointer items-center justify-center rounded-full text-ds-text-secondary transition-colors hover:bg-ds-white/70",n?"inline-flex bg-ds-white/70":"hidden group-hover/card:inline-flex group-hover/card:bg-ds-white/70 focus-visible:inline-flex"),children:(0,a.jsx)(B.Heart,{className:(0,x.cn)("h-4 w-4",n?"fill-ds-pink text-ds-pink":"text-ds-text-secondary"),"aria-hidden":!0})}),(0,a.jsxs)("div",{className:"relative flex flex-1 flex-col items-center justify-center gap-6 px-4 py-5 text-center",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-1 items-center",children:[(0,a.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),k(!0)},className:"inline-flex items-center gap-1 transition-opacity hover:opacity-80","aria-label":"최저가 보장 안내 보기",children:[(0,a.jsx)(j.Typography,{as:"span",variant:"heading-lg",tone:"ds-accent",children:"최저가 보장"}),(0,a.jsx)(en.IconCircleQuestion,{className:"text-base text-ds-text-muted","aria-hidden":!0})]}),(0,a.jsxs)(j.Typography,{as:"p",variant:"body-sm-regular",tone:"brand-error",children:[E," + ",L]})]}),(0,a.jsx)(j.Typography,{as:"p",variant:"label-lg-regular",tone:"ds-tertiary",className:"leading-relaxed bg-ds-white px-1 rounded-ds-sm transition-colors group-hover/cta:bg-brand-yellow whitespace-nowrap",children:"안심하세요. ì
5µœì €ê°€ë¥¼ 보장해드려요. 😘"}),P&&(0,a.jsx)(D.default,{src:"/images/cars/free_refund_dolpang_family.png",alt:"100% 무료취소 가능",width:1209,height:267,className:"pointer-events-none absolute -bottom-[4px] left-1/2 -translate-x-1/2 z-raised h-auto w-[190px] opacity-0 transition-opacity duration-300 group-hover/card:opacity-100"})]}),S&&(0,a.jsxs)("div",{className:"relative flex items-center justify-center gap-[5px] overflow-hidden bg-[#05070c] px-3 py-[7px]",children:[(0,a.jsx)("span",{"aria-hidden":!0,className:"animate-baro-strip-sweep pointer-events-none absolute -top-[30%] left-0 h-[160%] w-[12%]",style:ey}),(0,a.jsx)(ei.Zap,{className:"animate-baro-bolt-pulse relative h-3.5 w-3.5 shrink-0 fill-current text-[#5cd2ff] drop-shadow-[0_0_5px_rgba(0,190,255,0.7)]",strokeWidth:0,"aria-hidden":!0}),(0,a.jsx)(j.Typography,{as:"span",variant:"label-md",className:"relative text-[12px] font-bold leading-[1.2] tracking-[-0.48px] text-[#5cd2ff] [font-family:HGGGothicssi,var(--font-sans)]",children:"바로할인 적용가"})]}),(0,a.jsxs)("div",{className:"bg-ds-primary p-3 flex items-center justify-between gap-3",children:[(0,a.jsxs)(j.Typography,{as:"span",variant:"heading-md",tone:"white",className:(0,x.cn)("text-center flex-1",ex),children:["₩ ",F]}),(0,a.jsx)(f.Button,{type:"button",size:"cta-40",className:"flex items-center font-bold bg-ds-white transition-colors justify-between group-hover/cta:bg-brand-yellow! hover:bg-brand-yellow!",onClick:V,children:(0,a.jsx)(j.Typography,{as:"span",variant:"body-sm-bold",tone:"ds-tertiary",children:"실시간 예약"})})]}),q]})}var eb=e.i(643531),ev=e.i(752044);let ej=[["항균소독","블랙박스","차선이탈방지보조","열선시트","썬루프"],["공기청정시스템","에어백","전방추돌방지","통풍시트","어라운드뷰"],["후방카메라","4륜구동","블루투스","네비게이션","낚시용품"],["금연","후방센서","후측방경고등","열선핸들","스마트키","반려동물"]],eN=["글라스루프","글래스루프"],ew={낚시용품:{checkedLabel:"낚시용품지참가능"},반려동물:{checkedLabel:"반려동물동반가능"}};function eC({car:e,offer:r}){let s=(0,eg.useCarSearchLabels)(),t=new Set((0,K.getOfferFeatureNames)(r)),i=new Set(r.options.filter(e=>e.isExist).map(e=>e.optionId)),n=r.rewardLimitedText?.trim()??"",l=""!==n||(r.rewardLimited??0)>0,o=l&&s.isEnglish?null:{label:l?`보장한도 ${n||`${r.rewardLimited}만원`}`:s.isEnglish?s.t("card.rewardLimit.none"):"보장 미적용",checked:l},c=[{label:s.modelYear((0,K.resolveOfferModelYear)(r,e)),checked:!0},{label:s.insurance(r.insurance),checked:!0},o],d=ej.map((e,a)=>{let r=e.map(e=>{let a=ew[e];if(a){let r=i.has(eg.CAR_FEATURE_CATALOG[e].optionId);return{label:s.catalogFeature(r?a.checkedLabel:e),checked:r}}return{label:s.catalogFeature(e),checked:i.has(eg.CAR_FEATURE_CATALOG[e].optionId)}});if(0===a&&eN.some(e=>t.has(e))){let a=e.indexOf("썬루프"),t={label:s.catalogFeature("글라스루프"),checked:!0};a>=0?r.splice(a+1,0,t):r.push(t)}let n=c[a];return n?[n,...r]:r});return(0,a.jsx)("div",{className:"grid grid-cols-4 gap-x-4 gap-y-2 rounded-ds-sm border border-ds-border bg-brand-bg-gray p-2",children:d.map((e,r)=>(0,a.jsx)("ul",{className:"flex flex-col gap-1.5",children:e.map(({label:e,checked:r})=>(0,a.jsxs)("li",{className:"flex min-w-0 items-center gap-1.5",children:[r?(0,a.jsx)(eb.Check,{className:"h-4 w-4 shrink-0 text-ds-text-secondary",strokeWidth:2.5,"aria-hidden":!0}):(0,a.jsx)(ev.Square,{className:"h-4 w-4 shrink-0 text-ds-text-disabled/70","aria-hidden":!0}),(0,a.jsx)(j.Typography,{as:"span",variant:"label-lg",tone:r?"ds-secondary":"ds-disabled",className:(0,x.cn)("truncate",r?"font-medium":void 0),children:e})]},e))},r))})}var ek=e.i(114683),eT=e.i(168118),eS=e.i(90953),eI=e.i(14082);e.i(857832);var eD=e.i(812257),eP=e.i(947536);function eA({companyName:e,youtubeLink:r,onOpen:s,className:t}){let{isEnglish:i,t:n}=(0,eg.useCarSearchLabels)();return(0,a.jsx)("span",{role:"button",tabIndex:0,"aria-label":i?n("card.providerInfo.aria",{company:e}):`${e} 업체 정보 보기`,onClick:e=>{e.preventDefault(),e.stopPropagation(),s()},onKeyDown:e=>
5{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),e.stopPropagation(),s())},className:(0,x.cn)("inline-flex items-center gap-1 rounded leading-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",t),children:(0,a.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,a.jsx)(eT.InfoIcon,{className:"h-3.5 w-3.5 shrink-0 text-ds-primary","aria-hidden":!0}),r&&(0,a.jsx)(eS.IconYoutubeBrands,{className:"h-3.5 w-3.5 text-[0.875rem] leading-none shrink-0 text-ds-primary","aria-hidden":!0})]})})}function eR({onOpen:e,className:r,children:s}){let{isEnglish:t,t:i}=(0,eg.useCarSearchLabels)();return(0,a.jsx)("span",{role:"button",tabIndex:0,"aria-label":t?i("cdw.guideAria"):"면책 및 가입조건 안내 보기",onClick:a=>{a.preventDefault(),a.stopPropagation(),e()},onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),a.stopPropagation(),e())},className:(0,x.cn)("inline-flex rounded leading-none transition-opacity hover:opacity-80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",r),children:s})}let eL="artc_0069a7be8a879d7";function eE({text:e,isEnglish:r,className:s}){return(0,a.jsxs)(j.Typography,{as:"s",variant:"label-sm",tone:"ds-muted",className:(0,x.cn)("shrink-0 whitespace-nowrap tabular-nums leading-none line-through decoration-ds-text-muted",s),children:[(0,a.jsx)("span",{className:"sr-only",children:r?"Regular price ":"일반 요금 "}),e]})}function eF({offer:e,isEnglish:r,insuranceLabel:s,priceText:t,regularPriceText:i,originalPriceText:n,eligibilityText:l,separator:o,availableQuantity:c,hasCoupon:d,couponPriceLabel:p,couponLabelClass:u,isMobilePrimary:m,onCompanyInfoClick:h}){var g;let y="complete"===(g=e.insurance)?"text-[#0000ff]":"super"===g?"text-ds-pink":void 0,f=null!==i;return(0,a.jsxs)("div",{className:"flex w-full flex-col gap-0.5 lg:hidden",children:[(0,a.jsxs)("div",{className:"flex w-full items-center gap-2",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:[(0,a.jsx)(j.Typography,{as:"span",variant:r?"body-md":"body-md-bold",tone:"ds-primary",className:"min-w-0 truncate",children:e.companyName}),(0,a.jsx)(eA,{companyName:e.companyName,onOpen:h,className:"min-w-0 shrink-0 whitespace-nowrap",youtubeLink:e.youtubeLink}),(0,a.jsx)(eP.CarOfferBadges,{badges:(0,eo.getOfferBadgesWithLimitedSpecialPrice)(e)}),(0,a.jsx)("div",{"aria-hidden":!0,className:"min-w-0 flex-1 border-b border-dashed border-ds-border"})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[!f&&(0,a.jsx)(j.Typography,{as:"span",variant:"label-sm",tone:"ds-muted",className:"shrink-0 whitespace-nowrap tabular-nums leading-none line-through",children:n}),!f&&(0,a.jsx)(et.ArrowRight,{className:"h-3 w-3 shrink-0 text-ds-text-muted","aria-hidden":!0}),f?(0,a.jsxs)("span",{className:"flex shrink-0 flex-col items-end gap-0.5 tabular-nums leading-none",children:[!d&&(0,a.jsx)(eE,{text:i,isEnglish:r}),(0,a.jsx)(j.Typography,{as:"span",variant:"body-md-bold",tone:"inherit",className:"shrink-0 whitespace-nowrap tabular-nums leading-none text-ds-pink",children:t})]}):(0,a.jsx)(j.Typography,{as:"span",variant:"body-md-bold",tone:m?"ds-accent":"ds-secondary",className:"shrink-0 whitespace-nowrap tabular-nums leading-none",children:t})]})]}),(0,a.jsxs)("div",{className:"flex w-full items-center justify-between gap-2",children:[(0,a.jsx)(j.Typography,{as:"span",variant:"label-lg",tone:"ds-tertiary",children:(0,a.jsxs)("span",{className:"inline-flex items-center whitespace-nowrap",children:[(0,a.jsxs)("span",{className:(0,x.cn)("inline-flex items-center gap-0.5 font-bold",y),children:[s,"super"===e.insurance&&(0,a.jsx)(ei.Zap,{className:"h-3 w-3 shrink-0 fill-current",strokeWidth:0,"aria-hidden":!0})]}),(0,a.jsxs)("span",{children:[o,l]})]})}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[d&&(0,a.jsxs)(j.Typography,{as:"span",variant:"label-md",className:(0,x.cn)("inline-flex shrink-0 items-center gap-1 font-bold leading-none",u),children:[(0,a.jsx)(ei.Zap,{className:"animate-baro-bolt-pulse h-[11px] w-[11px] shrink-0 fill-current",strokeWidth:0,"aria-hidden":!0}),p]}),c&&(0,a.jsx)(j.Typography,{as:"span",variant:"label-md",tone:"ds-tertiary",className:"shrink-0 whitespace-nowrap tabular-nums leading-none",children:c.label})]})]})]})}function eB({offer:e,isActive:r,insuranceLabel:s,originalPriceText:t,finalPriceText:i,regularPriceText:n,eligibilityText:l,availableQuantity:o,hasCoupon:c,onCompanyInfoCl
5ick:d,onInsuranceGuideClick:p}){var u,m;let{isEnglish:h,t:g}=(0,eg.useCarSearchLabels)(),y="complete"===(u=e.insurance)?"text-[#0000ff]":"super"===u?"text-ds-pink":void 0,f="complete"===(m=e.insurance)?"bg-ds-primary":"super"===m?"bg-ds-pink":"bg-ds-text-primary",b=null!==n,v=(0,a.jsxs)("div",{className:"flex flex-col gap-0.5 text-left",children:[(0,a.jsx)("span",{className:"text-[14px] font-bold leading-tight text-ds-white",children:h?g("card.eligibility.tooltip",{cdw:s,eligibility:l}):(0,a.jsxs)(a.Fragment,{children:[s,"·",(0,a.jsx)("span",{className:"underline underline-offset-2",children:l})," ","가입가능"]})}),(0,a.jsx)("span",{className:"text-[14px] font-bold leading-tight text-brand-yellow",children:h?g("cdw.compareTableHint"):"(클릭하면 모든면책 한눈 비교표 볼 수 있어요.)"})]}),N=(0,a.jsxs)("div",{className:"flex flex-col gap-0.5 text-left",children:[(0,a.jsx)("span",{className:"text-[14px] font-bold leading-tight text-ds-white",children:h?g("card.providerInfo.link",{company:e.companyName}):`${e.companyName} 상세정보 보기`}),(0,a.jsx)("span",{className:"text-[14px] font-bold leading-tight text-brand-yellow",children:h?g("card.providerInfo.hint"):"(클릭하면 렌트카 정보를 한눈에 볼 수 있어요.)"})]});return(0,a.jsxs)("div",{className:"hidden w-full items-center gap-8 tabular-nums lg:flex lg:gap-0",children:[(0,a.jsxs)("div",{className:"relative flex items-center gap-2 justify-between",children:[(0,a.jsxs)("span",{className:"relative inline-flex h-4 w-4 shrink-0 items-center justify-center","aria-hidden":!0,children:[(0,a.jsx)(ek.Circle,{className:(0,x.cn)("absolute inset-0 h-full w-full",r?"fill-current text-ds-primary":"text-ds-text-muted")}),r&&(0,a.jsx)(eb.Check,{className:"relative h-2.5 w-2.5 text-ds-white",strokeWidth:3})]}),(0,a.jsx)(eR,{onOpen:p,className:(0,x.cn)("peer/insurance shrink-0",h?"min-w-44":"min-w-38"),children:(0,a.jsxs)(j.Typography,{as:"span",variant:"body-sm-regular",tone:r?"ds-accent":"ds-secondary",className:"text-[14.5px] font-medium leading-none tracking-[-1px]",children:[(0,a.jsxs)("span",{className:(0,x.cn)("inline-flex items-center gap-0",y),children:[s,"super"===e.insurance&&(0,a.jsx)(ei.Zap,{className:"h-3.5 w-3.5 shrink-0 fill-current",strokeWidth:0,"aria-hidden":!0})]}),(0,a.jsxs)("span",{className:(0,x.cn)("tabular-nums",r?"text-ds-primary":"text-ds-text-muted"),children:[h?" · ":(0,a.jsx)("span",{className:"inline-block -mx-1 scale-x-75",children:"・"}),l]})]})}),(0,a.jsx)("div",{className:(0,x.cn)("pointer-events-none absolute left-12 top-full z-dropdown mt-1 hidden min-w-max rounded-ds-sm px-3 py-2 shadow-md peer-hover/insurance:flex peer-focus-within/insurance:flex",f),"aria-hidden":!0,children:v})]}),(0,a.jsxs)("div",{className:"relative flex min-w-0 flex-1 items-center gap-[3px]",children:[(0,a.jsx)(j.Typography,{as:"span",variant:"body-sm-regular",tone:r?"ds-accent":"ds-secondary",className:"min-w-0 truncate text-[14.5px] font-medium leading-none tracking-[-1px]",title:e.companyName,children:e.companyName}),(0,a.jsx)(eA,{companyName:e.companyName,onOpen:d,className:"peer/company shrink-0",youtubeLink:e.youtubeLink}),(0,a.jsx)(eP.CarOfferBadges,{badges:(0,eo.getOfferBadgesWithLimitedSpecialPrice)(e),className:"ml-0.5"}),(0,a.jsx)("div",{className:"pointer-events-none absolute left-12 top-full z-dropdown mt-1 hidden min-w-max rounded-ds-sm bg-ds-text-primary px-3 py-2 shadow-md peer-hover/company:flex peer-focus-within/company:flex","aria-hidden":!0,children:N})]}),(0,a.jsxs)("div",{className:"ml-auto flex shrink-0 items-center gap-0.5 pl-3 leading-none",children:[b?null:(0,a.jsx)(j.Typography,{as:"span",variant:"label-sm",tone:"ds-muted",className:"text-[12px] font-medium leading-none line-through tracking-[-1px]",children:t}),b&&!c&&(0,a.jsx)(eE,{text:n,isEnglish:h,className:"text-[12px] font-medium tracking-[-1px]"}),(0,a.jsx)(et.ArrowRight,{className:(0,x.cn)("h-3 w-3 shrink-0",r?"text-ds-primary":"text-ds-text-muted"),"aria-hidden":!0}),(0,a.jsx)(j.Typography,{as:"span",variant:"body-sm-regular",tone:b?"inherit":r?"ds-accent":"ds-secondary",className:(0,x.cn)("text-[14.5px]",ex,b&&"font-bold text-ds-pink"),children:i}),o&&(0,a.jsx)(j.Typography,{as:"span",variant:"body-sm-regular",tone:r?"ds-accent":"ds-tertiary",className:(0,x.cn)("ml-1 shrink-0 whitespace-nowrap text-right text-[14.5px] font-medium leading-none tracking-[-1px]",h?"w-11":"w-8"),children:o.short})]})]})}function eO({offer:e,isActive:r,isMobilePrimary:s,onCompanyInfoCl
5ick:t,onInsuranceGuideClick:i}){let{isAuthenticated:n}=(0,X.useAuth)(),l=(0,eg.useCarSearchLabels)(),{isEnglish:o,t:c}=l,d=l.insurance(e.insurance),p=l.eligibility(e.eligibility),u=l.availableQuantity(e.availableQuantity),m=(0,ed.canShowCouponBenefitBadge)(o,(0,eo.hasOfferCouponDiscount)(e)),h=(0,K.formatKrwNumber)(e.pricing.originalPrice),x=(0,K.formatKrwNumber)((0,K.getCouponAppliedPrice)(e)),g=o?`${x} ${c("card.price.suffix")}`:`${x}원`,y=o?`₩ ${h}`:h,f=o?`₩ ${x}`:x,b=e.limitedSpecialPrice?(0,K.formatKrwNumber)(e.limitedSpecialPrice.pricing.regularPrice):null,v=null===b?null:o?`${b} ${c("card.price.suffix")}`:`${b}원`,j=null===b?null:o?`₩ ${b}`:b;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eF,{offer:e,isEnglish:o,insuranceLabel:d,priceText:g,regularPriceText:v,originalPriceText:h,eligibilityText:p,separator:o?" · ":"·",availableQuantity:u,hasCoupon:m,couponPriceLabel:"바로할인 적용가",couponLabelClass:n?"text-ds-primary":"text-ds-text-muted",isMobilePrimary:s,onCompanyInfoClick:t}),(0,a.jsx)(eB,{offer:e,isActive:r,insuranceLabel:d,originalPriceText:y,finalPriceText:f,regularPriceText:j,eligibilityText:p,availableQuantity:u,hasCoupon:m,onCompanyInfoClick:t,onInsuranceGuideClick:i})]})}function e_({offer:e,isActive:s,isMobilePrimary:t,href:i,onSelect:n,onHrefClick:l,onMouseEnter:o,onMouseLeave:c}){let d=(0,eg.useCarSearchLabels)(),{isEnglish:p,t:u}=d,[m,h]=(0,r.useState)(!1),[g,y]=(0,r.useState)(!1),b=()=>h(!0),v=()=>y(!0);K.formatEligibility;let j=(0,ed.canShowCouponBenefitBadge)(p,(0,eo.hasOfferCouponDiscount)(e)),N=d.availableQuantity(e.availableQuantity)?.speech,w=p?u("cdw.guideLabel"):"면책 및 가입조건 안내",C=(0,x.cn)("group/option-row relative h-auto w-full cursor-pointer flex items-center transition-colors py-1 lg:flex-nowrap lg:py-2.5 lg:p-1 lg:rounded-ds-sm","justify-start lg:tabular-nums","bg-transparent",j?"lg:hover:bg-[#fef3f7]":"lg:hover:bg-[#edf3ff]",p&&"rounded-ds-sm px-1.5 py-2.5 border-b border-ds-border-section lg:border-b-0",p&&s&&"bg-[#EEF5FF] lg:shadow-[inset_0_0_0_1px_#CFE1FF]"),k=(0,a.jsx)(eI.Dialog,{open:m,onOpenChange:h,children:(0,a.jsxs)(eI.DialogContentFullscreen,{hideCloseButton:!0,className:"flex flex-col overflow-hidden p-0 md:max-h-[80vh] md:max-w-[600px]",children:[(0,a.jsx)(eI.DialogFullscreenHeader,{title:p?u("card.providerInfo.title",{company:e.companyName}):`${e.companyName} 업체 정보`,closeAriaLabel:p?u("card.providerInfo.close"):void 0}),(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto",children:(0,a.jsx)(eD.ProviderDescriptionContent,{companyId:e.companyId,publicId:e.publicId,service:"cars"})})]})});return i?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(f.Button,{asChild:!0,shape:"plain",size:"unstyled",className:C,children:(0,a.jsx)(P.default,{href:i,"aria-label":[e.companyName,N,p?u("card.reserveOptionAria"):"옵션으로 예약하기"].filter(Boolean).join(" "),onClick:e=>l?.(i,e),children:(0,a.jsx)(eO,{offer:e,isActive:s,isMobilePrimary:t,onCompanyInfoClick:b,onInsuranceGuideClick:v})})}),k,(0,a.jsx)(ec.BoardDetailDialog,{open:g,onOpenChange:y,boardId:eL,label:w})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(f.Button,{type:"button",shape:"plain",size:"unstyled","aria-pressed":s,className:C,onClick:n,onMouseEnter:o,onMouseLeave:c,children:(0,a.jsx)(eO,{offer:e,isActive:s,isMobilePrimary:t,onCompanyInfoClick:b,onInsuranceGuideClick:v})}),k,(0,a.jsx)(ec.BoardDetailDialog,{open:g,onOpenChange:y,boardId:eL,label:w})]})}var e$=e.i(490600);let eM=!0,ez=null,eV=new Set;function eH(e){if(eM!==e)for(let a of(eM=e,eV))a()}function eq(){eH(!1),ez&&clearTimeout(ez),ez=setTimeout(()=>eH(!0),500)}function eK(e){return 0===eV.size&&window.addEventListener("scroll",eq,{passive:!0}),eV.add(e),()=>{eV.delete(e),0===eV.size&&(window.removeEventListener("scroll",eq),ez&&(clearTimeout(ez),ez=null),eM=!0)}}function eQ({src:e,alt:s,className:t,frameClassName:i,children:n}){let[l,o]=(0,r.useState)(!1);return(0,a.jsxs)("div",{className:(0,x.cn)("relative flex shrink-0 items-center justify-center rounded-ds-lg border border-ds-border-section","bg-linear-to-b from-[#EEF6FF] to-ds-white","min-h-24 lg:min-h-26",t),children:[l?(0,a.jsx)(R.
5Car,{className:"h-8 w-8 text-ds-text-muted","aria-hidden":!0}):(0,a.jsx)("div",{className:(0,x.cn)("relative w-full",i),children:(0,a.jsx)(D.default,{src:e,alt:s,fill:!0,className:"object-contain transition-transform duration-300 ease-out lg:group-hover/card:scale-105",onError:()=>o(!0)})}),n]})}function eW({src:e,alt:r,className:s}){return e?(0,a.jsx)(M,{src:e,alt:r,fill:!0,className:s,fallback:null}):null}function eU({car:e}){let t="en"===(0,i.useLocale)()?"en":"ko",n=(0,eg.useCarSearchLabels)(),{t:l}=n,d=(0,G.useReservationHrefParams)(),{context:p}=(0,c.useB2bContext)(),{session:u}=(0,X.useAuth)(),{isLg:m,expanded:h,setExpanded:g,offersExpanded:y,setOffersExpanded:b,selectedOptionIndex:v,setSelectedOptionIndex:N,setHoveredOptionIndex:w,visibleCount:C,visibleCompanyGroups:k,hiddenCompanyCount:T,displayOffer:S,rentalPeriodText:R}=function(e){let a=(0,er.useMediaQuery)(ea.LG_MEDIA_QUERY),[s,t]=(0,r.useState)(!1),[i,n]=(0,r.useState)(!1),[l,o]=(0,r.useState)(0),[c,d]=(0,r.useState)(null),p=(0,r.useMemo)(()=>(0,ee.groupOffersByCompany)(e.offers),[e.offers]),u=a?6:3,m=p.length>u,h=a?m&&!i?p.slice(0,u):p:p.slice(0,u),x=Math.max(0,p.length-h.length),g=e.offers[l]??e.offers[0]??null,y=null!==c?e.offers[c]??g:g;return{isLg:a,expanded:s,setExpanded:t,offersExpanded:i,setOffersExpanded:n,selectedOptionIndex:l,setSelectedOptionIndex:o,hoveredOptionIndex:c,setHoveredOptionIndex:d,visibleCount:u,hasMoreOptions:m,visibleCompanyGroups:h,hiddenCompanyCount:x,displayOffer:y,rentalPeriodText:(0,es.useRentalPeriodText)()}}(e),$=(0,s.useSearchParams)(),M=(0,s.useRouter)(),{isFavorite:et,toggle:ei}=(0,Y.useToggleCarFavorite)(e.packageGroupId,e.isFavorite),[en,el]=(0,r.useState)(!1),[eo,ec]=(0,r.useState)(null),ed=(0,U.useCarServiceHolidays)(),ep=(0,r.useMemo)(()=>!S?.limitedSpecialPrice&&(0,W.resolveFreeCancelNudge)({startDate:d.startDate,cancelPolicy:e.cancelPolicy,holidays:ed}).visible,[S?.limitedSpecialPrice,d.startDate,e.cancelPolicy,ed]),em=(0,r.useSyncExternalStore)(eK,()=>eM,()=>!0),[eh,ex]=(0,r.useState)(null),ey=h||y||en,eb=n.capacity(e.capacity),ev=(0,K.formatBaggage)(e.baggageCapacity),ej=(0,Q.normalizeCarImageUrl)(e.imageUrl),eN=(0,J.isPartnerLoginRequired)(p,u),ew=(0,o.getB2bContextId)(p),ek=e.offers.length>C&&!y?e.offers.slice(0,C):e.offers,eT=e.offers.length>C,eS=$.toString(),eI=`${(0,V.localizePathname)(`/cars/compare/${encodeURIComponent(e.packageGroupId)}`,t)}${eS?`?${eS}`:""}`,eD=a=>{(0,e$.saveComparisonCarSnapshot)({packageGroupId:e.packageGroupId,searchParamsKey:eS,car:e,rentalPeriodText:R}),(0,I.saveCarsCompareSourceSnapshot)(eS),(0,I.saveCarsSearchScrollSnapshot)(eS,window.scrollY,(e=>{let a=e.currentTarget.closest("[data-cars-visible-count]")?.getAttribute("data-cars-visible-count");if(!a)return;let r=Number(a);return Number.isFinite(r)?r:void 0})(a))};if(n.isEnglish){let r=[n.modelYear(e.modelYear),n.fuel(e.fuelType),eb,n.luggage(e.golfBagCapacity)].filter(e=>!!e),s=k.length+T,i=(0,a.jsx)("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),ei()},"aria-pressed":et,"aria-label":l(et?"card.favorite.remove":"card.favorite.add"),className:"absolute right-1.5 top-1.5 z-raised inline-flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border border-ds-border-section bg-ds-white/95 text-ds-text-secondary transition-colors hover:bg-ds-white lg:right-2 lg:top-2 lg:h-8 lg:w-8",children:(0,a.jsx)(B.Heart,{className:(0,x.cn)("h-4 w-4",et?"fill-ds-pink text-ds-pink":"text-ds-text-secondary"),"aria-hidden":!0})});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("article",{className:(0,x.cn)("group/card relative flex flex-col gap-3 p-4","lg:grid lg:grid-cols-[236px_minmax(0,1fr)] lg:grid-rows-[auto_minmax(0,1fr)] lg:gap-x-5 lg:gap-y-3 lg:p-0"),onMouseEnter:()=>el(!0),onMouseLeave:()=>{el(!1),g(!1)},children:[(0,a.jsxs)("div",{className:"flex items-center gap-3.5 lg:col-start-1 lg:row-span-2 lg:row-start-1 lg:flex-col lg:items-stretch lg:gap-2 lg:border-r lg:border-ds-border-section lg:p-4 lg:pr-5",children:[(0,a.jsxs)("label",{className:"hidden cursor-pointer items-center gap-0 lg:inline-flex",children:[(0,a.jsx)(_.Switch,{checked:ey,onCheckedChange:g,"aria-label":l("card.detailOpen"),className:"scale-75 origin-left"}),(0,a.jsx)(j.Typography,{as:"span",variant:"body-md",tone:"ds-secondary",className:"leading-none",children:l("card.detailOpen")})]}),(0,a.jsx)(eQ,{src:ej,alt:e.name,className:"w-[140px] p-2 lg:w-full lg:p-2.5",frameClassName:"h-[84px] lg:h-[86px]",children:i}),(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-1 lg:flex-none lg:items-center lg:text-center",children:[(0,a.jsx)(j.Typography,{as:"p",variant:"title-lg-bold",className:"min-w-0 
5whitespace-normal break-words lg:text-[15px]",children:e.name}),r.length>0&&(0,a.jsx)(j.Typography,{as:"p",variant:"label-md",tone:"ds-tertiary",className:"whitespace-normal break-words",children:r.join(" · ")})]})]}),(0,a.jsxs)("div",{className:"flex flex-col lg:col-start-2 lg:row-start-2 lg:min-w-0 lg:pb-4 lg:pr-4",children:[ey&&S&&(0,a.jsx)("div",{className:"hidden lg:mb-3 lg:block",children:(0,a.jsx)(eC,{car:e,offer:S})}),(0,a.jsxs)("p",{className:"mb-1.5 inline-flex items-center gap-1.5 text-[11.5px] font-bold uppercase leading-none tracking-[0.02em] text-ds-text-muted lg:px-2.5",children:[(0,a.jsx)(A.Building2,{className:"h-3.5 w-3.5","aria-hidden":!0}),l("card.offers.compared",{count:s})]}),(0,a.jsx)("div",{className:"flex w-full flex-col gap-0",children:m?ek.map((e,r)=>(0,a.jsx)(e_,{offer:e,isActive:v===r,onSelect:()=>N(r),onMouseEnter:()=>w(r),onMouseLeave:()=>w(null)},`${e.productDetailId}-${r}`)):k.map((e,r)=>{let{offer:s,originalIndex:i}=e.cheapest;return(0,a.jsx)(e_,{offer:s,isMobilePrimary:0===r,onSelect:()=>{let e=(0,H.createReservationHref)({productDetailId:s.productDetailId,optionIndex:i,...d,driverInsurance:!1,insuranceType:s.insurance,locale:t});eN?ec(e):M.push(e)}},`${e.companyId}-${i}`)})}),m&&eT&&(0,a.jsx)("div",{className:"mt-4 lg:mt-6",children:(0,a.jsx)(f.Button,{shape:"plain",size:"cta-40",className:"w-full text-ds-text-secondary font-semibold h-0 hover:underline",onClick:()=>g(e=>!e),rightIcon:h?(0,a.jsx)(F.ChevronUp,{className:"h-4 w-4"}):(0,a.jsx)(L.ChevronDown,{className:"h-4 w-4"}),children:l(h?"card.expand.less":"card.expand.more")})})]}),(0,a.jsx)("div",{className:"hidden w-full lg:col-start-2 lg:row-start-1 lg:mr-4 lg:mt-4 lg:block lg:w-auto",children:(0,a.jsx)(ef,{car:e,selectedOffer:S,rentalPeriodText:R,isFavorite:et,onToggleFavorite:ei})}),!m&&(0,a.jsxs)("div",{className:"flex flex-col gap-3",children:[T>0&&(0,a.jsx)(P.default,{href:eI,onClick:eD,children:(0,a.jsx)(j.Typography,{as:"p",variant:"title-md",tone:"ds-muted",align:"center",children:l("card.expand.hiddenCount",{count:T})})}),(0,a.jsx)(f.Button,{asChild:!0,shape:"outline",size:"cta-40",className:"w-full font-semibold",children:(0,a.jsxs)(P.default,{href:eI,onClick:eD,children:[l("card.compareCta"),(0,a.jsx)(E.ChevronRight,{className:"h-4 w-4"})]})})]})]}),(0,a.jsx)(Z.PartnerLoginDialog,{open:!!eo,onOpenChange:e=>{e||ec(null)},partnerId:ew,pendingHref:eo})]})}return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("article",{className:(0,x.cn)("group/card relative flex flex-col gap-2 px-4 py-6 lg:grid lg:p-0","lg:min-h-[250px] lg:grid-cols-[200px_minmax(0,1fr)_250px] lg:gap-2"),onMouseEnter:()=>el(!0),onMouseLeave:()=>{el(!1),g(!1)},children:[(0,a.jsxs)(z.MediaInfoCard,{size:"sm",layout:"horizontal",className:"relative w-full justify-between gap-3 lg:hidden",children:[(0,a.jsx)(O.IconButton,{label:et?"찜 해제":"찜하기","aria-pressed":et,icon:(0,a.jsx)(B.Heart,{className:(0,x.cn)("h-4 w-4",et?"fill-ds-pink text-ds-pink":"text-muted-foreground/40"),"aria-hidden":!0}),className:"absolute right-0 top-0 z-raised h-auto w-auto p-1 bg-ds-white/70 rounded-full",onClick:e=>{e.preventDefault(),e.stopPropagation(),ei()}}),(0,a.jsxs)("div",{className:"min-w-0 flex-1 space-y-1",children:[(0,a.jsx)("div",{className:"flex items-center gap-2",children:(0,a.jsx)(z.MediaInfoCard.Title,{variant:"title-md",className:"min-w-0 whitespace-normal break-words text-start",children:e.name})}),(0,a.jsx)(q.CarSpecRow,{carType:e.type,seatsLabel:eb,baggageLabel:ev,baggageOnNewLine:!0})]}),(0,a.jsx)(z.MediaInfoCard.Media,{className:"h-16 w-26 self-start",children:(0,a.jsx)(eW,{src:ej,alt:e.name,className:"object-contain"})})]}),(0,a.jsxs)(z.MediaInfoCard,{size:"sm",layout:"vertical",className:"hidden w-full gap-3 lg:flex lg:items-stretch lg:p-4 lg:pr-0",children:[(0,a.jsx)("div",{className:"flex w-full items-center justify-between",children:(0,a.jsxs)("label",{className:"inline-flex cursor-pointer items-center gap-0",children:[(0,a.jsx)(_.Switch,{checked:ey,onCheckedChange:g,"aria-label":"꼼꼼히 보기",className:"scale-75 origin-left"}),(0,a.jsx)(j.Typography,{as:"span",variant:"body-md",tone:"ds-secondary",className:"leading-none",children:"꼼꼼히 보기"})]})}),(0,a.jsx)(z.MediaInfoCard.Media,{className:"mx-auto h-20 w-32 overflow-visible rounded-none",children:(0,a.jsx)(eW,{src:ej,alt:e.name,className:"object-contain transition-transform duration-300 ease-out lg:group-hover/card:scale-105"})}),(0,a.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,a.jsx)(z.MediaInfoCard.Title,{variant:"body-md",className:"min-w-0 
5whitespace-normal break-words text-center",children:e.name}),(0,a.jsx)(q.CarSpecRow,{carType:e.type,seatsLabel:eb,baggageLabel:ev,baggageOnNewLine:!0})]})]}),(0,a.jsxs)("div",{className:(0,x.cn)("flex flex-1 flex-col lg:min-w-0",m&&eT?"lg:pb-4":"lg:pb-16","lg:pt-4"),children:[ey&&S&&(0,a.jsx)("div",{className:"hidden lg:mb-3 lg:block",children:(0,a.jsx)(eC,{car:e,offer:S})}),(0,a.jsx)("div",{className:"flex w-full flex-col gap-0",children:m?ek.map((e,r)=>(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(e_,{offer:e,isActive:v===r,onSelect:()=>N(r),onMouseEnter:()=>w(r),onMouseLeave:()=>w(null)})},`${e.productDetailId}-${r}`)):k.map((e,r)=>{let{offer:s,originalIndex:t}=e.cheapest;return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(e_,{offer:s,isMobilePrimary:0===r,onSelect:()=>{eN?ec((0,H.createReservationHref)({productDetailId:s.productDetailId,optionIndex:t,...d,insuranceType:s.insurance})):ex({offer:s,optionIndex:t})}})},`${e.companyId}-${t}`)})}),m&&eT&&(0,a.jsx)("div",{className:"mt-4 lg:mt-6",children:(0,a.jsx)(f.Button,{shape:"plain",size:"cta-40",className:"w-full text-ds-text-secondary font-semibold h-0 hover:underline",onClick:()=>b(e=>!e),rightIcon:y?(0,a.jsx)(F.ChevronUp,{className:"h-4 w-4"}):(0,a.jsx)(L.ChevronDown,{className:"h-4 w-4"}),children:y?"접기":"더 많은 업체 보기"})}),!m&&(0,a.jsxs)("div",{className:"mt-4 flex flex-col gap-3",children:[T>0&&(0,a.jsx)(P.default,{href:eI,onClick:eD,children:(0,a.jsx)(j.Typography,{as:"p",variant:"title-md",tone:"ds-muted",align:"center",children:`+ ${T}개 업체 더 보기`})}),ep&&(0,a.jsx)(D.default,{src:"/images/cars/free_refund_dolpang_family.png",alt:"100% 무료취소 가능",width:1209,height:267,className:(0,x.cn)("pointer-events-none relative z-raised mx-auto -mb-4 block h-auto w-40",em?"opacity-100 transition-opacity duration-300":"opacity-0 transition-none")}),(0,a.jsx)(f.Button,{asChild:!0,shape:"outline",size:"cta-40",className:"w-full font-semibold",children:(0,a.jsxs)(P.default,{href:eI,onClick:eD,children:["예약 가능 옵션 및 가격 꼼꼼히 비교하기",(0,a.jsx)(E.ChevronRight,{className:"h-4 w-4"})]})})]}),(0,a.jsx)("div",{className:"text-center mt-2 lg:hidden",children:(0,a.jsx)(j.Typography,{as:"span",variant:"body-md",tone:"ds-tertiary",children:"안심하세요. 최저가를 보장해 드려요. 😘"})})]}),(0,a.jsx)("div",{className:"hidden w-full flex-col lg:flex lg:min-h-0",children:(0,a.jsx)(ef,{car:e,selectedOffer:S,rentalPeriodText:R,isFavorite:et,onToggleFavorite:ei})})]}),(0,a.jsx)(Z.PartnerLoginDialog,{open:!!eo,onOpenChange:e=>{e||ec(null)},partnerId:ew,pendingHref:eo}),eh&&(0,a.jsx)(eu.CarReservationUpsellDialog,{open:!0,onOpenChange:e=>{e||ex(null)},car:e,displayOffer:eh.offer,optionIndex:eh.optionIndex,rentalPeriodText:R})]})}var eG=e.i(110490);function eY({onResetFilters:e}){let r=(0,n.useTranslations)("cars-search");return(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center gap-6 rounded-ds-lg bg-ds-white m-4 lg:m-0 px-4 py-20 text-center",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsx)(j.Typography,{as:"p",variant:"body-md-bold",tone:"ds-secondary",className:"text-center",children:r("status.empty.title")}),(0,a.jsx)(j.Typography,{as:"p",variant:"body-sm-regular",tone:"ds-tertiary",className:"text-center",children:r("status.empty.description")})]}),(0,a.jsx)(f.Button,{type:"button",tone:"primary",size:"cta-40",className:"w-full max-w-[480px]",leftIcon:(0,a.jsx)(l.RotateCcw,{className:"h-4 w-4","aria-hidden":!0}),onClick:e,children:r("status.empty.reset")})]})}function eJ(){let e="en"===(0,i.useLocale)(),r=(0,n.useTranslations)("cars-search"),{context:s}=(0,c.useB2bContext)();return(0,o.getB2bContextId)(s)&&"resolved"!==s.status?(0,a.jsx)(w.SearchLoadingView,{label:e?r("status.partners"):"파트너 정보를 확인하고 있어요.",subLabel:e?r("status.loadingSub"):void 0,background:(0,a.jsx)(S.CarsSearchGuide,{}),lockScroll:!1}):(0,a.jsx)(eZ,{})}function eZ(){let e="en"===(0,i.useLocale)(),l=(0,n.useTranslations)("cars-search"),o=(0,s.useSearchParams)().toString(),c=(0,u.useCarsSearchRequest)(),{resetFilters:f}=(0,p.useCarsSearchParams)(),j=m.carsSearchQueries.list(c),S=(0,b.useIsSearchRefreshing)(d.carsQueries.all()),D=(0,I.readCarsListSnapshot)(j.queryKey),[P]=r.useState(()=>(0,g.isBackNavigation)()&&!!D),[A,R]=r.useState(()=>(0,I.readCarsSearchScrollSnapshot)(o)),L=P&&null!==A,{data:E,error:F,isFetching:B,isPending:O,isPlaceholderData:_}=(0,t.useQuery)({...j,initialData:P?D:void 0,initialDataUpdatedAt:P?(0,I.readCarsListSnapshotSavedAt)(j.queryKey):void 0,staleTime:3e5*!!P}),$=r.useMemo(()=>E?.items??[],[E?.items]);r.useEffect(()=>{R((0,I.readCarsSearchScrollSnapshot)(o))},[o]),r.useEffect(()=>{P||((0,I.consumeCarsSearchScrollSnapshot)(o),R(null))},[o,P]);let[M,z]=r.useState(()=>L?Math.min($.length,Math.max(5,A?.visibleCount??$.length)):Math.min(5,$.length));r.useEffect(()=>{z(L?Math.min($.length,Math.max(5,A?.visibleCount??$.length)):Math.min(5,$.length))},[$,A?.visibleCount,L]);let V=M<$.length,H=r.useMemo(()=>$.slice(0,M),[$,M]);r.useEffect(()=>{E&&!_&&(0,I.saveCarsListSnapshot)(j.queryKey,E)},[j.queryKey,E,_]),r.useEffect(()=>{!E||_||B||O||(0,k.notifySearchResultsReady)("cars")},[E,B,O,_]),r.useEffect(()=>{E&&y.logger.log("[CarsSearchList] 데이터 조회",{searchRequest:c,apiResponse:E,totalCount:$.length,visibleCount:M,visibleCars:H})},[c,E,$.length,M,H]),r.useEffect(()=>{if(!L||0===$.length)return;let e=(0,I.consumeCarsSearchScrollSnapshot)(o);if(null===e)return;let a=0,r=()=>{window.scrollTo({top:e.scrollY,behavior:"auto"}),(a+=1)<8&&window.requestAnimationFrame(r)};window.requestAnimationFrame(r);let s=window.setInterval(()=>{window.scrollTo({top:e.scrollY,behavior:"auto"})},120),t=window.setTimeout(()=>window.clearInterval(s),1800);return()=>{window.clearInterval(s),window.clearTimeout(t)}},[$.length,L,o]);let q=(0,h.useIntersectionLoadMore)({disabled:!V,rootMargin:"0px 0px 900px 0px",ignoreInitialIntersection:!0,onLoadMore:()=>{z(e=>Math.min(e+5,$.length))}});if(r.useEffect(()=>{if(L||!V)return;let e=0,a=0,r=()=>{let s=q.current;
5!s||function({isVisible:e,sentinelTop:a,viewportHeight:r,rootMarginPx:s}){return e&&a<=r+s}({isVisible:null!==s.offsetParent,sentinelTop:s.getBoundingClientRect().top,viewportHeight:window.innerHeight,rootMarginPx:900})&&(z(e=>Math.min(e+5,$.length)),(e+=1)<24&&(a=window.requestAnimationFrame(r)))};return a=window.requestAnimationFrame(r),()=>window.cancelAnimationFrame(a)},[$.length,V,q,L,M]),r.useEffect(()=>{if(L||!V)return;let e=0,a=()=>{let e=q.current;!e||function({isVisible:e,sentinelTop:a,viewportHeight:r,rootMarginPx:s}){return e&&a<=r+s}({isVisible:null!==e.offsetParent,sentinelTop:e.getBoundingClientRect().top,viewportHeight:window.innerHeight,rootMarginPx:900})&&z(e=>Math.min(e+5,$.length))},r=()=>{window.cancelAnimationFrame(e),e=window.requestAnimationFrame(a)},s=new ResizeObserver(r);return s.observe(document.body),r(),window.addEventListener("scroll",r,{passive:!0}),window.addEventListener("resize",r),()=>{window.cancelAnimationFrame(e),s.disconnect(),window.removeEventListener("scroll",r),window.removeEventListener("resize",r)}},[$.length,V,q,L,M]),F)throw F;return O||S?(0,a.jsx)(w.SearchLoadingView,{phrases:e?[{titleLines:[l("status.loading")],subtitle:l("status.loadingSub")}]:C.SEARCH_LOADING_PHRASES.cars,background:(0,a.jsx)(eG.CarsSearchListSkeleton,{}),lockScroll:!1}):0===$.length?e?(0,a.jsx)(eY,{onResetFilters:f}):(0,a.jsx)(N.SearchEmptyResult,{title:"조건에 딱 맞는 렌트카가 없어요😢",description:"필터나 날짜를 바꾸면 더 많은 렌트카를 만날 수 있어요!",onResetFilters:f}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("ul",{className:"flex flex-col p-4 gap-2 lg:gap-3 lg:p-0","data-cars-visible-count":H.length,children:H.map((s,t)=>(0,a.jsxs)(r.Fragment,{children:[(0,a.jsxs)("li",{className:(0,x.cn)("rounded-ds-lg border border-ds-border bg-ds-white lg:transition-shadow lg:duration-300 lg:ease-out lg:hover:shadow-[0_18px_40px_rgba(15,23,42,0.12)]",e?"overflow-visible":"overflow-hidden"),children:[(0,a.jsx)(eU,{car:s}),t!==H.length-1&&(0,a.jsx)(v.SectionBar,{weight:"hairline",className:"lg:hidden"})]}),0===t&&!e&&(0,a.jsx)(T.ListAdBanner,{type:"car"})]},s.packageGroupId))}),V&&(0,a.jsx)("div",{ref:q,"aria-hidden":!0,className:"h-8 w-full"})]})}e.s(["CarsSearchList",()=>eJ],178711)},256890,e=>{"use strict";var a=e.i(843476),r=e.i(271645),s=e.i(657688),t=e.i(522016),i=e.i(618566),n=e.i(972520),l=e.i(463059),o=e.i(168118),c=e.i(39312);e.i(141898);var d=e.i(90953);e.i(927805);var p=e.i(401718),u=e.i(14082),m=e.i(581887),h=e.i(314172),x=e.i(387365),g=e.i(7334),y=e.i(881308);e.i(645887);var f=e.i(39710),b=e.i(904366),v=e.i(192684),j=e.i(936275),N=e.i(46221),w=e.i(621919),C=e.i(642542),k=e.i(445397),T=e.i(200439);e.i(211930);var S=e.i(761843),I=e.i(868888);e.i(305918);var D=e.i(429986),P=e.i(170010),A=e.i(722381);e.i(857832);var R=e.i(812257),L=e.i(852858),E=e.i(679421),F=e.i(947536),B=e.i(282225),O=e.i(800231),_=e.i(620645),$=e.i(851559);function M({car:e,offer:s,originalIndex:o,rentalPeriodText:d,onReserveNavigate:u}){var m,h,x;let g=(0,$.useCarSearchLabels)(),{isEnglish:f,t:j}=g,w=(0,_.useEnglishBookingBlocked)(),C=(0,i.useRouter)(),k=(0,T.useReservationHrefParams)(),{context:R}=(0,I.useB2bContext)(),{session:F,isAuthenticated:O}=(0,A.useAuth)(),M=(0,b.createReservationHref)({productDetailId:s.productDetailId,optionIndex:o,...k,driverInsurance:!1,insuranceType:s.insurance,locale:f?"en":"ko"}),[z,V]=(0,r.useState)(!1),[H,q]=(0,r.useState)(null),K=g.insurance(s.insurance),Q="complete"===(m=s.insurance)?"text-[#0000ff]":"super"===m?"text-ds-pink":void 0,W=g.eligibility(s.eligibility),U=(0,v.formatKrwNumber)((0,v.getCouponAppliedPrice)(s)),G=f?`${U} ${j("card.price.suffix")}`:`${U}원`,Y=s.limitedSpecialPrice?f?`${(0,v.formatKrwNumber)(s.limitedSpecialPrice.pricing.regularPrice)} ${j("card.price.suffix")}`:`${(0,v.formatKrwNumber)(s.limitedSpecialPrice.pricing.regularPrice)}원`:null,J=g.availableQuantity(s.availableQuantity),Z=(0,v.formatKrwNumber)(s.pricing.originalPrice),X=s.rewardLimitedText?.trim()??"",ee=""!==X||(s.rewardLimited??0)>0,ea=ee?f?null:`보장한도 ${X||`${s.rewardLimited}만원`}`:f?j("card.rewardLimit.none"):"보장 미적용",er=(0,L.canShowCouponBenefitBadge)(f,(0,N.hasOfferCouponDiscount)(s)),es=(0,S.getB2bContextId)(R),et=(0,S.isPartnerB2bContext)(R),ei=(0,D.isPartnerLoginRequired)(R,F),en=(0,E.canOfferDriverInsuranceUpsell)(f);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{type:"button",onClick:()=>
5{if(!w){if(!en)return ei?void q(M):u?void u(M):void C.push(M);if(!et)return void V(!0);if(ei)return void q(M);C.push(M)}},disabled:w,"aria-label":[s.companyName,K,J?.speech,null!==Y&&s.limitedSpecialPrice?(h=s.limitedSpecialPrice.ratePlanName,!(x=er?void 0:Y)?f?`${h} price ${G}`:`${h} 요금 ${G}`:f?`Regular price ${x}, ${h} price ${G}`:`일반 요금 ${x}, ${h} 요금 ${G}`):null,w?j("booking.unavailable.label"):f?j("card.instantBooking"):"실시간 예약"].filter(Boolean).join(" "),className:(0,p.cn)("flex w-full flex-col gap-2 text-left",w?"cursor-default":"cursor-pointer"),children:(0,a.jsxs)("div",{className:"flex w-full justify-between gap-2",children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1 space-y-0",children:[(0,a.jsx)("div",{className:"flex items-center gap-2",children:(0,a.jsx)(y.Typography,{as:"span",variant:"body-sm",tone:"ds-primary",children:(0,a.jsxs)("span",{className:"inline-flex items-center whitespace-nowrap",children:[(0,a.jsxs)("span",{className:(0,p.cn)("inline-flex items-center gap-0.5 font-bold",Q),children:[K,"super"===s.insurance&&(0,a.jsx)(c.Zap,{className:"h-3 w-3 shrink-0 fill-current",strokeWidth:0,"aria-hidden":!0})]}),(0,a.jsxs)("span",{children:[f?" · ":"·",W]})]})})}),ea?(0,a.jsx)(y.Typography,{as:"span",variant:"label-md",tone:ee?"ds-tertiary":"ds-disabled",children:ea}):null]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center",children:[(0,a.jsxs)("div",{className:"flex flex-col items-end gap-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[null===Y&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(y.Typography,{as:"s",variant:"label-sm",tone:"ds-muted",className:"shrink-0 whitespace-nowrap tabular-nums leading-none line-through decoration-ds-text-muted",children:Z}),(0,a.jsx)(n.ArrowRight,{className:"h-3 w-3 shrink-0 text-ds-text-muted","aria-hidden":!0})]}),null!==Y?(0,a.jsxs)("span",{className:"flex shrink-0 flex-col items-end gap-0.5 tabular-nums leading-none",children:[!er&&(0,a.jsx)(y.Typography,{as:"s",variant:"label-sm",tone:"ds-muted",className:"shrink-0 whitespace-nowrap tabular-nums leading-none line-through decoration-ds-text-muted",children:Y}),(0,a.jsx)(y.Typography,{as:"span",variant:"body-md",tone:"inherit",className:"shrink-0 whitespace-nowrap tabular-nums leading-none font-bold text-ds-pink",children:G})]}):(0,a.jsx)(y.Typography,{as:"span",variant:"body-md",tone:"ds-accent",className:"shrink-0 whitespace-nowrap tabular-nums leading-none font-bold",children:G})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[er&&(0,a.jsxs)(y.Typography,{as:"span",variant:"label-sm",className:(0,p.cn)("inline-flex shrink-0 items-center gap-1 font-bold leading-none",O?"text-ds-primary":"text-ds-text-muted"),children:[(0,a.jsx)(c.Zap,{className:"animate-baro-bolt-pulse h-[11px] w-[11px] shrink-0 fill-current",strokeWidth:0,"aria-hidden":!0}),"바로할인 적용가"]}),J&&(0,a.jsx)(y.Typography,{as:"span",variant:"label-md",tone:"ds-tertiary",className:"shrink-0 whitespace-nowrap tabular-nums leading-none",children:J.label})]})]}),(0,a.jsx)(l.ChevronRight,{className:"h-6 w-6 shrink-0 text-ds-text-muted",strokeWidth:1,"aria-hidden":!0})]})]})}),en?(0,a.jsx)(B.CarReservationUpsellDialog,{open:z,onOpenChange:V,car:e,displayOffer:s,optionIndex:o,rentalPeriodText:d,onNavigate:u}):null,(0,a.jsx)(P.PartnerLoginDialog,{open:!!H,onOpenChange:e=>{e||q(null)},partnerId:es,pendingHref:H}),w?null:(0,a.jsx)(t.default,{href:M,className:"sr-only",tabIndex:-1,"aria-hidden":!0,children:f?j("card.instantBooking"):"예약하기"})]})}function z({car:e,group:s,rentalPeriodText:t,onReserveNavigate:i}){let n=(0,$.useCarSearchLabels)(),{isEnglish:l,t:c}=n,p=(0,_.useEnglishBookingBlocked)(),h=(0,v.getOfferFeatureNames)(s.cheapest.offer),x=[n.modelYear((0,v.resolveOfferModelYear)(s.cheapest.offer,e)),...h.map(e=>n.feature(e))].filter(Boolean),f=s.offers.some(({offer:e})=>e.youtubeLink),b=[...new Set(s.offers.flatMap(({offer:e})=>e.limitedSpecialPrice?[e.limitedSpecialPrice.ratePlanName]:[]))].map(N.createLimitedSpecialPriceBadge),[j,w]=(0,r.useState)(!1);return(0,a.jsxs)("article",{className:"relative flex flex-col gap-3 bg-ds-white transition-colors rounded-ds-lg p-4 border border-ds-border",children:[(0,a.jsxs)(u.Dialog,{open:j,onOpenChange:w,children:[(0,a.jsx)(m.DialogTrigger,{asChild:!0,children:(0,a.jsxs)("button",{type:"button","aria-label":l?c("card.providerInfo.aria",{company:s.companyName}):`${s.companyName} 업체 정보 보기`,className:"relative z-raised flex items-center gap-3 text-left",children:[(0,a.jsx)(y.Typography,{as:"span",variant:"body-md-bold",tone:"ds-primary",className:"shrink-0",children:s.companyName}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(o.InfoIcon,{className:"h-4 w-4 shrink-0 text-ds-primary","aria-hidden":!0}),f&&(0,a.jsx)(d.IconYoutubeBrands,{className:"h-4 w-4 shrink-0 text-ds-primary leading-none","aria-hidden":!0})]}),(0,a.jsx)(F.CarOfferBadges,{badges:b})]})}),(0,a.jsxs)(u.DialogContentFullscreen,{hideCloseButton:!0,className:"flex flex-col overflow-hidden p-0 md:max-h-[80vh] md:max-w-[600px]",children:[(0,a.jsx)(u.DialogFullscreenHeader,{title:l?c("card.providerInfo.title",{company:s.companyName}):`${s.companyName} 업체 정보`,closeAriaLabel:l?c("card.providerInfo.close"):void 0}),(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto",children:(0,a.jsx)(R.ProviderDescriptionContent,{companyId:s.companyId,publicId:s.cheapest.offer.publicId,service:"cars"})})]})]}),(0,a.jsx)(g.SectionBar,{weight:"hairline"}),(0,a.jsx)("div",{className:"flex flex-col gap-4",children:s.offers.map(({offer:r,originalIndex:s})=>(0,a.jsx)(M,{car:e,offer:r,originalIndex:s,rentalPeriodText:t,onReserveNavigate:i},`${r.productDetailId}-${s}`))}),(0,a.jsx)("ul",{className:"flex flex-wrap items-center gap-x-1.5 gap-y-1 border-y border-ds-border py-2",children:x.map((e,r)=>(0,a.jsxs)("li",{className:"flex items-center gap-x-1",children:[(0,a.jsx)(y.Typography,{as:"span",variant:"body-sm",tone
5:"ds-secondary",children:e}),r!==x.length-1&&(0,a.jsx)(y.Typography,{as:"span",variant:"body-sm",tone:"ds-disabled","aria-hidden":!0,children:"|"})]},`${e}-${r}`))}),l?null:(0,a.jsx)(y.Typography,{as:"span",variant:"body-sm",tone:"ds-secondary",className:"text-center",children:"안심하세요. 최저가를 보장해 드려요. 😘"}),p?(0,a.jsx)(O.EnglishBookingNotice,{}):null]})}function V({car:e,rentalPeriodText:t,onReserveNavigate:i}){let n=(0,$.useCarSearchLabels)(),{isEnglish:l,t:o}=n,c=(0,$.useEnglishRentalPeriodText)(),[d,p]=(0,r.useState)("price"),u=(0,T.useReservationHrefParams)(),m=e.offers.some(e=>e.limitedSpecialPrice),g=(0,k.useCarServiceHolidays)(),b=(0,r.useMemo)(()=>!m&&(0,C.resolveFreeCancelNudge)({startDate:u.startDate,cancelPolicy:e.cancelPolicy,holidays:g}).visible,[m,u.startDate,e.cancelPolicy,g]),N=(0,r.useMemo)(()=>(0,j.getAdjacentCompanyGroups)(e.offers,d),[e.offers,d]),S=n.capacity(e.capacity),I=(0,w.normalizeCarImageUrl)(e.imageUrl);return(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto pb-16",children:[(0,a.jsxs)("header",{className:"flex flex-col items-center gap-3 p-4",children:[(0,a.jsxs)(h.MediaInfoCard,{size:"sm",className:"w-full shrink-0 gap-2 flex items-center gap-2",children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1 space-y-1",children:[(0,a.jsx)(h.MediaInfoCard.Title,{variant:"body-md-bold",className:"min-w-0 truncate text-start text-ds-primary",children:e.name}),(0,a.jsx)(f.CarSpecRow,{variant:"plain",carType:e.type,seatsLabel:S,baggageLabel:(0,v.formatBaggage)(e.baggageCapacity)})]}),(0,a.jsx)(h.MediaInfoCard.Media,{className:"h-16 w-26 self-start",children:(0,a.jsx)(s.default,{src:I,alt:e.name,fill:!0,className:"object-contain"})})]}),(0,a.jsx)("div",{className:"inline-flex items-center rounded-ds-lg border border-ds-primary bg-ds-white px-4 py-1.5",children:(0,a.jsx)(y.Typography,{as:"span",variant:"label-md",tone:"ds-primary",className:"tabular-nums",children:c??t})})]}),(0,a.jsxs)("section",{className:"flex flex-col gap-3 px-4","aria-label":l?o("compare.providerListAria"):"업체 목록",children:[(0,a.jsx)(x.RadioGroup,{value:d,onValueChange:e=>p(e),className:"flex flex-row items-center justify-center gap-6","aria-label":l?o("sort.aria"):"정렬 기준",children:j.CAR_OPTION_SORT_OPTIONS.map(e=>(0,a.jsxs)("div",{className:"inline-flex items-center gap-1.5",children:[(0,a.jsx)(x.Radio,{value:e,id:`sort-${e}`}),(0,a.jsx)(y.Typography,{as:"label",htmlFor:`sort-${e}`,variant:"body-sm-bold",tone:d===e?"ds-accent":"ds-tertiary",className:"cursor-pointer leading-none",children:l?o(`sort.option.${e}`):j.CAR_OPTION_SORT_LABELS[e]})]},e))}),b&&(0,a.jsxs)("div",{className:"relative flex items-center gap-2 rounded-[10px] bg-[#DDEAFE] px-4 py-3",children:[(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",width:"16",height:"16",className:"shrink-0","aria-hidden":!0,children:[(0,a.jsx)("circle",{cx:"10",cy:"10",r:"10",fill:"#007AFF"}),(0,a.jsx)("path",{d:"M6 10.5 L8.5 13 L14 7.5",stroke:"#fff",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]}),(0,a.jsx)(y.Typography,{as:"span",variant:"body-sm-bold",tone:"ds-accent",children:o("card.freeCancel.message")}),(0,a.jsx)(s.default,{src:"/images/cars/hello_dolpang.png",alt:o("card.freeCancel.mascotAlt"),width:150,height:167,className:"pointer-events-none absolute right-3 top-[9px] h-auto w-[33px]"})]}),(0,a.jsx)("ul",{className:"flex list-none flex-col gap-4",children:N.map((r,s)=>(0,a.jsx)("li",{children:(0,a.jsx)(z,{car:e,group:r,rentalPeriodText:t,onReserveNavigate:i})},`${r.companyId}-${r.cheapest.originalIndex}-${s}`))})]})]})}function H(){let{isEnglish:e,t:r}=(0,$.useCarSearchLabels)();return(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col items-center justify-center gap-2 p-8 text-center",children:[(0,a.jsx)(y.Typography,{as:"p",variant:"body-md-bold",tone:"ds-primary",children:e?r("compare.notFound.title"):"옵션 정보를 찾을 수 없어요"}),(0,a.jsx)(y.Typography,{as:"p",variant:"body-sm-regular",tone:"ds-tertiary",children:e?r("compare.notFound.body"):"검색 조건이 바뀌었거나 만료된 링크일 수 있어요. 목록에서 다시 선택해 주세요."})]})}e.s(["CarComparisonContent",()=>V,"CarComparisonNotFound",()=>H])},600128,e=>{"use strict";var a=e.i(843476),r=e.i(271645),s=e.i(618566),t=e.i(861745),i=e.i(948148),n=e.i(595727),l=e.i(381515);let o=(0,e.i(475254).default)("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]);e.i(927805);var c=e.i(841936),d=e.i(570081),p=e.i(881308);e.i(645887);var u=e.i(281280);e.i(954293);var m=e.i(468470),h=e.i(192684);function x(){let e="en"===(0,t.useLocale)(),r=(0,i.useTranslations)("cars-search");return(0,a.jsx)("div",{className:"pointer-events-none fixed left-1/2 top-16 z-toast -translate-x-1/2 px-4",children:(0,a.jsxs)("div",{className:"rounded-ds-sm bg-[#10233D]/95 px-4 py-3 text-center shadow-lg backdrop-blur-sm",children:[(0,a.jsx)(p.Typography,{as:"p",variant:"body-sm",className:"text-ds-white",children:e?r("share.copied.title"):"일정이 복사 되었습니다."}),(0,a.jsx)(p.Typography,{as:"p",variant:"body-sm",className:"text-ds-white",children:e?r("share.copied.body"):"붙여넣기 해서 최저가를 공유해 보세요."})]})})}function g({car:e}){let p="en"===(0,t.useLocale)(),g=(0,i.useTranslations)("cars-search"),y=(0,s.use
5SearchParams)(),[f,b]=(0,r.useState)(!1),v=(0,r.useRef)(null);(0,r.useEffect)(()=>()=>{v.current&&window.clearTimeout(v.current)},[]);let j=(0,r.useMemo)(()=>{var a;let r,s,t,i=(0,m.readCarsSearchInitialState)(new URLSearchParams(y.toString())),o=(0,d.startOfSeoulDay)(),p=i.dateRange??{from:o,to:(0,n.addDays)(o,1)},x=i.rentalTime??"10:00",g=i.returnTime??"10:00",{from:f,to:b}=(0,c.formatDateRangeParts)(p,x,g),v=p.to&&p.from?Math.max(0,(0,l.differenceInCalendarDays)(p.to,p.from)):0,j=(0,c.getDurationHours)(p,x,g),N=(0,u.getLowestPriceOption)(e)?.price??null;return r=(a={carName:e.name,fromText:f,toText:b,nights:v,hours:j,lowestPrice:N}).toText?`${a.fromText} ~ ${a.toText}`:a.fromText,s=a.nights>=1?`${a.nights}박${a.nights+1}일`:"당일",t=null!=a.lowestPrice?`최저가 ${(0,h.formatKrwNumber)(a.lowestPrice)}원 부터 가격비교 보기`:"가격비교 보기",[`[최저가 보장] ${a.carName}`,r,`${s} ${a.hours}시간`,t,"* 최저가 금액은 실시간으로 변동 될 수 있습니다."].join("\n")},[e,y]),N=()=>{b(!0),v.current&&window.clearTimeout(v.current),v.current=window.setTimeout(()=>b(!1),2400)},w=async()=>{let e=window.location.href;if("u">typeof navigator&&"function"==typeof navigator.share){try{await navigator.share({title:"제주렌트카 돌하루팡",text:j,url:e})}catch{}return}let a=`${j}
6${e}`;if("u">typeof navigator&&navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(a),N();return}catch{}try{let e=document.createElement("textarea");e.value=a,e.setAttribute("readonly",""),e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e),N()}catch{}};return(0,a.jsxs)(a.Fragment,{children:[f?(0,a.jsx)(x,{}):null,(0,a.jsx)("button",{type:"button",onClick:w,"aria-label":p?g("share.aria"):"일정·최저가 공유",className:"inline-flex h-7 w-7 items-center justify-center rounded-full text-ds-text-secondary transition-colors hover:bg-ds-bg-card",children:(0,a.jsx)(o,{className:"h-[18px] w-[18px]",strokeWidth:1.8,"aria-hidden":!0})})]})}e.s(["CarComparisonShareButton",()=>g],600128)},838117,879679,e=>{"use strict";var a=e.i(843476);e.i(927805);var r=e.i(401718);let s="text-[#cdd2da]";function t({size:e,circleRadius:t}){return(0,a.jsxs)("svg",{"aria-hidden":!0,width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2.4,className:(0,r.cn)("shrink-0",s),children:[(0,a.jsx)("path",{d:"M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z"}),(0,a.jsx)("circle",{cx:"12",cy:"12",r:t})]})}function i({size:e,strokeWidth:r}){return(0,a.jsx)("svg",{"aria-hidden":!0,width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:r,strokeLinecap:"round",children:(0,a.jsx)("path",{d:"M18 6 6 18M6 6l12 12"})})}function n({count:e,variant:n="inline",copy:l,onClose:o,className:c}){let d="toast"===n;return(0,a.jsxs)("div",{role:"status","aria-live":"polite",className:(0,r.cn)("relative flex items-center gap-2.5 rounded-md text-[13px] tracking-[-0.02em]","bg-[#1c2026]","text-[#f3f4f6]",d?"px-3.5 py-[11px] shadow-[0_8px_22px_rgba(17,24,39,0.24)]":"px-3 py-1.5 whitespace-nowrap",d?"animate-nudge-toast-up":"animate-nudge-slide-in",c),children:[(0,a.jsx)("span",{"aria-hidden":!0,className:(0,r.cn)("animate-nudge-pulse size-[7px] shrink-0 rounded-full","bg-[#78d667]")}),d?(0,a.jsx)(t,{size:15,circleRadius:2.5}):null,(0,a.jsxs)("span",{className:(0,r.cn)(d&&"-ml-1.5 flex-1"),children:[d&&(l?.toastPrefix??"지금")?`${l?.toastPrefix??"지금"} `:"",l?.beforeCount??"같은 일정을",l?.beforeCount??"같은 일정을"?" ":"",(0,a.jsx)("span",{className:(0,r.cn)("font-bold","text-[#fef35d]"),children:l?.countLabel??`${e}명`}),l?.separateAfterCount?" ":"",l?.afterCount??"이 보고 있어요"]}),o?(0,a.jsx)("button",{type:"button","aria-label":l?.closeAriaLabel??"닫기",onClick:o,className:(0,r.cn)("flex shrink-0 cursor-pointer items-center justify-center p-0.5 transition-opacity hover:opacity-100",s,d?"-my-0.5 -mr-0.5 opacity-55":"-mr-1 ml-0.5 opacity-60"),children:(0,a.jsx)(i,{size:d?15:13,strokeWidth:d?2:2.4})}):null]})}e.s(["ViewersCountNudge",()=>n],838117);var l=e.i(271645),o=e.i(266027),c=e.i(861745),d=e.i(948148);e.i(645887);var p=e.i(650113);e.i(954293);var u=e.i(44128),m=e.i(570081),h=e.i(869176);let x="cars:viewers-count-nudge-dismissed";function g(e,a){return Object.fromEntries(Object.entries(e).filter(([,e])=>e===a))}function y(){let e=(0,c.useLocale)(),a=(0,d.useTranslations)("cars-landing.viewers"),r=(0,u.useCarsSearchRequest)(),{data:s}=(0,o.useQuery)({...p.carsQueries.list(r),enabled:!1,placeholderData:void 0,notifyOnChangeProps:["data"]}),t=`${r.startDate.slice(0,10)}~${r.endDate.slice(0,10)}`,[i,n]=l.useState({});l.useEffect(()=>{n(g(function(){try{let e=window.localStorage.getItem(x);if(!e)return{};let a=JSON.parse(e);if(!a||"object"!=typeof a||Array.isArray(a))return{};return Object.fromEntries(Object.entries(a).filter(([,e])=>"string"==typeof e))}catch{return{}}}(),(0,m.getSeoulIsoDate)()))},[]);let y=l.useCallback(()=>{let e=(0,m.getSeoulIsoDate)();n(a=>{let r={...g(a,e),[t]:e};try{window.localStorage.setItem(x,JSON.stringify(r))}
6catch(e){h.logger.debug("viewers-count-nudge dismiss 저장 실패",e)}return r})},[t]),f=s?.viewersCount??0,b={toastPrefix:a("toastPrefix"),beforeCount:a("beforeCount"),countLabel:a("people",{count:f}),afterCount:a("activity",{count:f}),separateAfterCount:"en"===e,closeAriaLabel:a("closeAria")},v=i[t]===(0,m.getSeoulIsoDate)();return{count:f,copy:b,scheduleKey:t,dismissed:v,dismiss:y,visible:f>0&&!v}}e.s(["useCarsViewersCount",()=>y],879679)},704374,e=>{"use strict";var a=e.i(843476);e.i(645887);var r=e.i(650113),s=e.i(180814);e.i(927805);var t=e.i(401718),i=e.i(838117),n=e.i(879679);function l({active:e}){let{count:l,copy:o,visible:c,dismiss:d}=(0,n.useCarsViewersCount)(),p=(0,s.useIsSearchRefreshing)(r.carsQueries.all());return e&&c&&!p?(0,a.jsx)("div",{className:(0,t.cn)("fixed left-0 z-dropdown hidden lg:block","top-[371px]"),children:(0,a.jsx)(i.ViewersCountNudge,{count:l,copy:o,variant:"inline",onClose:d,className:"rounded-l-none"})}):null}e.s(["CarsViewersCountInlineNudge",()=>l])},86006,e=>{"use strict";var a=e.i(843476);e.i(73991);var r=e.i(996796),s=e.i(6344),t=e.i(838117),i=e.i(879679);function n({active:e}){let{count:n,copy:l,visible:o,dismiss:c}=(0,i.useCarsViewersCount)(),d=(0,s.useScrollIdle)(),p=(0,r.useModalOpen)();return e&&o&&d&&!p?(0,a.jsx)("div",{className:"fixed right-3 bottom-[calc(4rem+env(safe-area-inset-bottom,0px)+0.75rem)] left-3 z-toast lg:hidden",children:(0,a.jsx)(t.ViewersCountNudge,{count:n,copy:l,variant:"toast",onClose:c})}):null}e.s(["CarsViewersCountToast",()=>n])},779792,e=>{"use strict";var a=e.i(843476),r=e.i(271645),s=e.i(37727),t=e.i(881308),i=e.i(615754);let n="dolharupang:cars-trust-banner-dismissed";function l(){let[e,l]=r.useState(!1);r.useEffect(()=>{try{"1"===sessionStorage.getItem(n)&&l(!0)}catch{}},[]);let o=r.useCallback(()=>{try{sessionStorage.setItem(n,"1")}catch{}l(!0)},[]);return e?null:(0,a.jsxs)("section",{"aria-label":"돌하루팡 신뢰 포인트",className:"relative w-full bg-ds-secondary flex items-center h-[40px] lg:h-[42px] py-2.5 sm:py-3",children:[(0,a.jsx)("div",{className:"mx-auto flex max-w-page items-center justify-center px-4 pb-0 pt-0 pr-12 sm:pr-14",children:(0,a.jsxs)("div",{className:"flex max-w-full flex-wrap items-center justify-center gap-x-3 gap-y-0.5 text-center",children:[(0,a.jsx)("div",{className:"w-9 h-9 bg-ds-border rounded-ds-lg"}),(0,a.jsxs)("div",{className:"flex gap-x-1",children:[(0,a.jsxs)(t.Typography,{as:"span",variant:"body-sm-regular",tone:"white",className:"lg:hidden leading-0",children:["최저가 아니라면"," "]}),(0,a.jsxs)(t.Typography,{as:"span",variant:"body-md-regular",tone:"white",className:"hidden lg:inline leading-0",children:["최저가 아니라면"," "]}),(0,a.jsx)(t.Typography,{as:"span",variant:"title-md",tone:"white",className:"lg:hidden leading-0",children:"400% 현금 보장"}),(0,a.jsx)(t.Typography,{as:"span",variant:"title-lg",tone:"white",className:"hidden lg:inline leading-0",children:"400% 현금 보장"})]})]})}),(0,a.jsx)("div",{className:"absolute inset-y-0 right-0 flex items-center pr-0.5 sm:pr-1",children:(0,a.jsx)(i.Button,{type:"button",shape:"plain",size:"unstyled",onClick:o,className:"rounded-md p-2 text-white hover:bg-white/15 focus-visible:ring-2 focus-visible:ring-white/70 focus-visible:ring-offset-0","aria-label":"배너 닫기",children:(0,a.jsx)(s.X,{className:"h-7 w-7",strokeWidth:1.5,"aria-hidden":!0})})})]})}e.s(["CarsTrustBanner",()=>l])},852697,e=>{"use strict";var a=e.i(843476),r=e.i(271645),s=e.i(861745),t=e.i(948148),i=e.i(266027);e.i(927805);var n=e.i(401718),l=e.i(933818);e.i(100051);var o=e.i(457623);e.i(655495);var c=e.i(158264);e.i(989906);var d=e.i(258009),p=e.i(583563),u=e.i(218415);let m={location:["main","top","searchTop","list","booking"],type:"car"};async function h(a){let{loadMock:r}=await e.A(237099);return r(a)}async function x(){return(await o.apiClient.get("/api/cars/popular")).data}async function g(){return(await o.apiClient.get("/api/reviews",{params:{type:"cars",loadRange:"10"}})).data}async function y(){return(await o.apiClient.get("/api/events/weekly-deadline",{params:{type:"cars"}})).data}async function f(e="normal",a="ko"){return(0,c.selectApiSource)({real:()=>(0,d.getBanners)({...m,locale:a}),mock:async()=>(await h(e)).banners})}async function b(e="normal",a){return(0,c.selectApiSource)({real:()=>(0,p.getPopups)(a),mock:async()=>(await h(e)).popups}
6)}async function v(e="normal",a="ko"){return(0,c.selectApiSource)({real:()=>(0,u.getRecentBookings)(a),mock:async()=>(await h(e)).recentBookings})}async function j(e="normal"){return(0,c.selectApiSource)({real:()=>g(),mock:async()=>(await h(e)).trustReviews})}async function N(e="normal"){return(0,c.selectApiSource)({real:()=>x(),mock:async()=>(await h(e)).popularCars})}async function w(e="normal"){return(0,c.selectApiSource)({real:()=>y(),mock:async()=>(await h(e)).weeklyDeadlineEvent})}let C={all:()=>["cars-landing"],banners:(e="normal",a="ko")=>(0,l.queryOptions)({queryKey:[...C.all(),"banners",e,a],queryFn:()=>f(e,a),staleTime:3e5}),popups:(e="normal",a)=>(0,l.queryOptions)({queryKey:[...C.all(),"popups",e,a??"ko"],queryFn:()=>b(e,a),staleTime:3e5}),recentBookings:(e="normal",a="ko")=>(0,l.queryOptions)({queryKey:[...C.all(),"recent-bookings",e,a],queryFn:()=>v(e,a),staleTime:6e4}),trustReviews:(e="normal")=>(0,l.queryOptions)({queryKey:[...C.all(),"trust-reviews",e],queryFn:()=>j(e),staleTime:3e5}),popularCars:(e="normal")=>(0,l.queryOptions)({queryKey:[...C.all(),"popular-cars",e],queryFn:()=>N(e),staleTime:3e5}),weeklyDeadlineEvent:(e="normal")=>(0,l.queryOptions)({queryKey:[...C.all(),"weekly-deadline-event",e],queryFn:()=>w(e),staleTime:3e5})};var k=e.i(881308),T=e.i(913317),S=e.i(584493),I=e.i(996477),D=e.i(816841);function P({target:e,delay:s,duration:t,started:i}){let n=r.useMemo(()=>[...Array.from({length:10},(e,a)=>a%10),e],[e]),[l,o]=r.useState(0);return r.useEffect(()=>{if(!i)return;let e=requestAnimationFrame(()=>o(10));return()=>cancelAnimationFrame(e)},[i,10]),(0,a.jsx)("span",{"aria-hidden":!0,className:"inline-block overflow-hidden align-top leading-none",style:{height:"1em"},children:(0,a.jsx)("span",{className:"flex flex-col leading-none",style:{transform:`translateY(-${l}em)`,transition:`transform ${t}ms cubic-bezier(0.22, 1, 0.36, 1) ${s}ms`},children:n.map((e,r)=>(0,a.jsx)("span",{className:"block",style:{height:"1em"},children:e},r))})})}function A({value:e,unit:s,unitClassName:t,unitPrefix:i,ariaLabel:l,duration:o,stagger:c}){let d=r.useRef(null),[p,u]=r.useState(!1),m=r.useRef(!1);r.useEffect(()=>{if(m.current)return;let e=d.current;if(!e)return;let a=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&!m.current&&(m.current=!0,u(!0))},{threshold:.5});return a.observe(e),()=>a.disconnect()},[]);let h=e.toLocaleString().split(""),x=0;return(0,a.jsxs)("span",{ref:d,"aria-label":l,className:"leading-none",children:[h.map((e,r)=>{if(!/\d/.test(e))return(0,a.jsx)("span",{"aria-hidden":!0,children:e},r);let s=x++*c;return(0,a.jsx)(P,{target:Number(e),delay:s,duration:o,started:p},r)}),(0,a.jsxs)("span",{"aria-hidden":!0,className:(0,n.cn)("relative -top-px",t),children:[i,s]})]})}function R({bookings:e,labels:s}){let[t,i]=r.useState(0),[l,o]=r.useState(!0),c=r.useMemo(()=>{if(0===e.length)return[];let a=e.length+6,r=[...e];for(;r.length<a;)r.push(...e);return r.slice(0,a)},[e]);return(r.useEffect(()=>{if(e.length<=1)return;let a=window.setInterval(()=>{o(!0),i(e=>e+1)},2500);return()=>window.clearInterval(a)},[e.length]),r.useEffect(()=>{if(t!==e.length)return;let a=window.setTimeout(()=>{o(!1),i(0)},600);return()=>window.clearTimeout(a)},[t,e.length]),0===e.length)?null:(0,a.jsx)("div",{className:"relative w-full overflow-hidden",style:{height:141},"aria-label":s.aria,children:(0,a.jsx)("ul",{className:"absolute inset-x-0 top-0 flex flex-col gap-1.5",style:{transform:`translateY(${-(24.5*t)}px)`,transition:l?"transform 600ms ease":"none"},children:c.map((e,r)=>{let i=r===t,l=i?"ds-primary":"ds-tertiary",o="body-sm",c=i?"text-ds-primary":"text-ds-text-tertiary";return(0,a.jsxs)("li",{className:"flex items-center gap-1.5",style:{height:18.5},children:[(0,a.jsx)(k.Typography,{as:"span",variant:o,tone:l,className:(0,n.cn)("tabular-nums",c),children:(0,D.formatRecentBookingTimestamp)(e.reservedDate)}),(0,a.jsx)(k.Typography,{as:"span",variant:o,tone:l,className:c,children:s.status}),(0,a.jsx)(k.Typography,{as:"span",variant:o,tone:l,className:(0,n.cn)("min-w-0 flex-1 block truncate",c),children:e.productName}),(0,a.jsx)(k.Typography,{as:"span",variant:o,tone:l,className:(0,n.cn)("shrink-0 tabular-nums",c),children:s.formatDuration(e.usingTime)})]},`${e.reservedDate}-${r}`)})})})}function L(){let e="en"===(0,s.useLocale)(),r=(0,t.useTranslations)("cars-landing"),n=(0,i.useQuery)({...C.recentBookings("normal","en"),enabled:e}),l=(0,i.useQuery)({...I.contentQueries.recentBookings(),enabled:!e}),{data:o,isError:c,isLoading:d}=e?n:l;if(c)return null;if(d)return(0,a.jsx)(T.TrustOverviewSkeleton,{label:e?r("trust.section.loadingAria"):void 0});let p=o?.items??[],u=o?.cumulativeCustomerCount,m=e?r("trust.customers.unit"):"명",h=e?"":"ml-0.5",x=e?" ":"",g=e?{aria:r("trust.ticker.aria"),status:r("trust.ticker.status"),formatDuration:e=>{let a="number"==typeof e?e:Number.parseFloat(e);return!Number.isFinite(a)||a<=0?"":r("trust.ticker.duration",{hours:Math.max(1,Math.floor(a))})}}:{aria:"최근 예약 내역",status:"예약완료",formatDuration:D.formatRecentBookingDuration};return(0,a.jsxs)("section",{"aria-label":e?r("trust.section.aria"):"돌하루팡 신뢰 통계",className:"grid grid-cols-[minmax(0,9fr)_minmax(0,11fr)] items-stretch gap-14 bg-ds-white p-6 rounded-ds-lg",children:[(0,a.jsxs)("div",{className:"flex h-full flex-col gap-3",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)(k.Typography,{as:"span",variant:"title-md-soft",tone:"ds-secondary",children:[e?r("trust.customers.label"):"돌하루팡 이용 고객님"," "]}),(0,a.jsxs)(S.Badge,{variant:"line",size:"sm",className:"flex items-center gap-1 pl-1",children:[(0,a.jsx)("lottie-player",{src:"/lottie/crown-v3.json?v=5",autoplay:!0,loop:!0,className:"relative size-[18px] object-contain","aria-hidden":"true",suppressHydrationWarning:!0}),(0,a.jsx)("span",{className:"font-bold",children:e?r("trust.rank"):"누적 1등"})]})]}
6),(0,a.jsx)(k.Typography,{as:"strong",variant:"display-lg",tone:"ds-accent",className:"font-bold tabular-nums",children:null!=u?(0,a.jsx)(A,{value:u,unit:m,unitClassName:h,unitPrefix:x,duration:e?1400:2600,stagger:e?60:100,ariaLabel:e?r("trust.customers.aria",{count:u}):`${u.toLocaleString()}명`}):(0,a.jsxs)("span",{className:"leading-none",children:["0,000,000",(0,a.jsxs)("span",{className:h,children:[x,m]})]})})]}),(0,a.jsx)("div",{children:e?(0,a.jsxs)(k.Typography,{as:"p",variant:"body-md-regular",tone:"ds-tertiary",children:[(0,a.jsx)(k.Typography,{as:"span",variant:"body-md-bold",tone:"ds-primary",className:"text-center",children:r("trust.copy.headline")})," ",r("trust.copy.body")," ",(0,a.jsx)(k.Typography,{as:"span",variant:"body-md-bold",tone:"ds-accent",children:r("trust.copy.repeat")})," ",r("trust.copy.reason")]}):(0,a.jsxs)(k.Typography,{as:"p",variant:"body-md-regular",tone:"ds-tertiary",children:[(0,a.jsx)(k.Typography,{as:"span",variant:"body-md-bold",tone:"ds-primary",className:"text-center",children:"돌하루팡을 믿으세요."})," ","돌하루팡은 대한민국에서 가장 신뢰할 수 있는",(0,a.jsx)("br",{}),"국내최초·최대규모의 제주여행 가격비교사이트로 손꼽히고 있습니다.",(0,a.jsx)("br",{}),(0,a.jsx)(k.Typography,{as:"span",variant:"body-md-bold",tone:"ds-accent",children:"이유가 있는 재 이용률 No.1"})," ","다른 경쟁사가 따라올 수 없는 이유 입니다."]})})]}),(0,a.jsx)("div",{className:"flex h-full min-w-0 items-center",children:(0,a.jsx)(R,{bookings:p,labels:g})})]})}e.s(["CarsTrustOverview",()=>L],852697)},575183,e=>{"use strict";var a=e.i(843476),r=e.i(271645);let s=[{date:"02/23/월 19:56",location:"제주국제공항",item:"모닝 3세대",duration:"3일"},{date:"02/23/월 19:56",location:"제주국제공항",item:"BYD 아토 3",duration:"2일"},{date:"02/23/월 19:53",location:"부가서비스",item:"안심플러스",duration:"2일"},{date:"02/23/월 19:56",location:"제주국제공항",item:"모닝 3세대",duration:"3일"},{date:"02/23/월 19:56",location:"제주국제공항",item:"BYD 아토 3",duration:"2일"},{date:"02/23/월 19:53",location:"부가서비스",item:"안심플러스",duration:"2일"}];function t(){let[e,t]=r.useState(0),[i,n]=r.useState(!1),l=r.useRef(null);return r.useEffect(()=>{let e=l.current;if(!e)return;let a=new IntersectionObserver(e=>{e[0]?.isIntersecting&&n(!0)},{threshold:.1,rootMargin:"0px 0px -50px 0px"});return a.observe(e),()=>a.disconnect()},[]),r.useEffect(()=>{let e;if(!i)return;let a=Math.floor(0xa806b8/Math.pow(10,(e=Math.floor(Math.log10(0xa806b8))+1)-1))*Math.pow(10,Math.max(0,e-2)),r=performance.now();t(a);let s=e=>{let i=Math.min((e-r)/2e3,1);t(Math.floor(a+(1-(1-i)**3)*(0xa806b8-a))),i<1?requestAnimationFrame(s):t(0xa806b8)};requestAnimationFrame(s)},[i]),(0,a.jsx)("div",{ref:l,children:(0,a.jsx)("div",{className:"rounded-xl border-0 bg-background py-2.5 shadow-none md:border md:border-border md:px-4 md:py-3 md:shadow-sm",children:(0,a.jsxs)("div",{className:"grid gap-3 md:grid-cols-2 md:gap-5 md:items-center",children:[(0,a.jsxs)("div",{className:"flex gap-2 items-end justify-center min-w-0 space-y-0.5",children:[(0,a.jsx)("p",{className:"text-sm font-semibold text-gray-700",children:"돌하루팡 이용 고객님"}),(0,a.jsx)("p",{className:"text-xl font-bold text-primary sm:text-2xl tabular-nums",children:e.toLocaleString("ko-KR")})]}),(0,a.jsx)("div",{className:"min-w-0 h-14 overflow-hidden rounded-lg border border-border p-2 text-center md:rounded-none md:border-0 md:border-l md:border-border md:p-0 md:pt-0 md:pl-4 md:text-left",children:(0,a.jsx)("div",{className:"animate-reservation-ticker space-y-1",children:[...s,...s].map((e,r)=>(0,a.jsxs)("p",{className:"text-xs leading-tight text-muted-foreground",children:["예약완료 | ",e.date," | ",e.location," | ",e.item," |"," ",e.duration]},r))})})]})})})}e.s(["CarsTrustStats",()=>t])},379523,e=>{"use strict";var a=e.i(843476),r=e.i(271645),s=e.i(657688),t=e.i(861745),i=e.i(948148);e.i(927805);var n=e.i(401718);e.i(765618);var l=e.i(147564);let o={credential:[{src:"/images/wing/qr/[email protected]",alt:"제주공식 우수관광 사업체 2021-2023",width:76,height:129,englishImage:{src:"/images/wing/qr/[email protected]",width:76,height:107},boardId:"artc_006913e591c3518",englishBoardId:"artc_006a8cea432ad39",labelKey:"wing.badge.tourism"},{src:"/images/wing/qr/[email protected]",alt:"착한기업 2019.11.06",width:76,height:90,englishImage:{src:"/images/wing/qr/[email protected]",width:76,height:90},boardId:"artc_006a9111598deea",englishBoardId:"artc_006a8ceafabe76e",labelKey:"wing.badge.goodCompany"}
6],benefit:[{src:"/images/wing/qr/wing-left-low-price-guarantee-v2.png",alt:"꼼수없는 최저가 보장제 진행중",width:152,height:264,boardId:"artc_0069ae6740248cd",hiddenInEnglish:!0},{src:"/images/wing/qr/wing-left-naver-pay-v2.png",alt:"네이버페이 결제하면 1% 적립",width:152,height:230,domesticPaymentOnly:!0},{src:"/images/wing/qr/wing-left-toss-payments-v2.png",alt:"퀵계좌이체 5만원 이상 결제 시 1,000원 즉시 할인",width:152,height:250,boardId:"artc_00695b6c7979ea3",domesticPaymentOnly:!0}]};function c({boardId:e,imageAsset:t,label:i,ariaLabel:n}){let[o,c]=(0,r.useState)(!1),d=(0,a.jsx)(s.default,{src:t.src,alt:i,width:t.width,height:t.height,unoptimized:!0,className:"h-auto w-full object-contain rounded-[12px]"});return e?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{type:"button",onClick:()=>c(!0),className:"block w-full cursor-pointer transition-opacity hover:opacity-90","aria-label":n,children:d}),(0,a.jsx)(l.BoardDetailDialog,{open:o,onOpenChange:c,boardId:e,label:i})]}):d}function d({group:e,className:r}){let s="en"===(0,t.useLocale)(),l=(0,i.useTranslations)("cars-landing"),d=o[e],p=s?d.filter(e=>!e.domesticPaymentOnly&&!e.hiddenInEnglish):d;return 0===p.length?null:(0,a.jsx)("aside",{className:(0,n.cn)("hidden w-[76px] shrink-0 flex-col gap-3 lg:flex",r),"aria-label":s?l("wing.badges.aria"):"인증 및 혜택 안내",children:p.map(e=>{let r=s&&e.labelKey?l(e.labelKey):e.alt,t=s&&e.englishImage?e.englishImage:e,i=s&&e.englishBoardId?e.englishBoardId:e.boardId;return(0,a.jsx)(c,{boardId:i,imageAsset:t,label:r,ariaLabel:s?l("wing.badges.itemAria",{badge:r}):`${e.alt} 안내 보기`},e.src)})})}e.s(["CarsWingLeftBadges",()=>d])},986985,e=>{"use strict";var a=e.i(843476),r=e.i(271645),s=e.i(861745),t=e.i(948148),i=e.i(881308);e.i(141898);var n=e.i(310039);e.i(765618);var l=e.i(147564),o=e.i(700239);function c({onDateClick:e,durationHours:c,nights:d,showInsuranceNote:p=!0}){let u="en"===(0,s.useLocale)(),m=(0,t.useTranslations)("cars-landing"),h=c??24,x=d??1,g=u?m("wing.notes.duration",{hours:h}):`총 ${h}시간`,y=u?m("wing.notes.nights",{nights:x,days:x+1}):null==d?"1박2일":d>0?`${d}박${d+1}일`:"1일",[f,b]=(0,r.useState)(!1);return(0,a.jsxs)("aside",{className:"hidden h-[294px] w-[112px] shrink-0 flex-col gap-4 py-5 text-sm leading-snug text-ds-text-muted lg:flex","aria-label":u?m("wing.notes.aria"):"검색 안내",children:[(0,a.jsx)("button",{type:"button",onClick:e,className:"group flex h-[64px] items-center text-left transition-colors","aria-label":u?m("wing.notes.dateAria"):"대여 및 반납 일시 변경",children:(0,a.jsxs)(i.Typography,{as:"p",variant:"body-sm-regular",tone:"ds-muted",className:"cursor-pointer transition-colors group-hover:text-ds-primary",children:[g,(0,a.jsx)("br",{}),(0,a.jsxs)("span",{className:"text-xs",children:["(",y,")"]})]})}),p?u?(0,a.jsx)("div",{className:"flex h-[88px] items-center text-left",children:(0,a.jsxs)(i.Typography,{as:"p",variant:"body-sm-regular",tone:"ds-muted",children:[m("search.step2.labelLine1"),(0,a.jsx)("br",{}),m("search.step2.labelLine2")]})}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("button",{type:"button",onClick:()=>b(!0),className:"group flex h-[88px] cursor-pointer items-center gap-2 text-left","aria-label":"면책제도 안내 보기",children:[(0,a.jsxs)(i.Typography,{as:"p",variant:"body-sm-regular",tone:"ds-muted",className:"transition-colors group-hover:text-ds-primary",children:["면책제도",(0,a.jsx)("br",{}),"한눈에 보기"]}),(0,a.jsx)(n.IconCircleQuestion,{className:"shrink-0 text-base leading-none text-ds-text-muted transition-colors group-hover:text-ds-primary","aria-hidden":!0})]}),(0,a.jsx)(l.BoardDetailDialog,{open:f,onOpenChange:b,boardId:o.CARS_INSURANCE_BOARD_ID,label:"면책제도"})]}):null]})}e.s(["CarsWingRightNotes",()=>c])},140646,e=>{"use strict";var a=e.i(843476),r=e.i(657688),s=e.i(522016),t=e.i(463059),i=e.i(154452);let n={item:{id:"weekly-deadline-event",imageSrc:"/images/test/carousel/carousel_1.png",imageAlt:"이번주 곧 마감 이벤트",label:"원쁠패스 혜택",description:"제주페이 원쁠패스로 새 할인 혜택과 모바일 결제 혜택을 누려보세요.",ctaLabel:"바로 참여하기",href:"/events"}};async function l(e){if(!e.type)throw Error("type is required");return n}var o=e.i(933818);let c={all:()=>["events"],weeklyDeadline:e=>(0,o.queryOptions)({queryKey:[...c.all(),"weekly-deadline",e],queryFn:()=>l(e)})};var d=e.i(689968),p=e.i(615754),u=e.i(881308);let m={type:"cars"};function h(){let{data:e}=(0,i.useSuspenseQuery)(c.weeklyDeadline(m)),n=e.item;return(0,a.jsxs)(d.ContentSection.Root,{headingId:"weekly-deadline-event-heading",children:[(0,a.jsx)(d.ContentSection.Header,{children:(0,a.jsxs)(d.ContentSection.Title,{id:"weekly-deadline-event-heading",children:[(0,a.jsx)("span",{className:"text-ds-primary",children:"이번주 마감"})," 혜택 가득 이벤트"]})}),(0,a.jsx)("article",{className:"overflow-hidden rounded-ds-xl border border-ds-border p-4 lg:px-6 lg:py-5",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-center lg:justify-between lg:gap-8",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-5 lg:flex-row lg:items-center lg:gap-8",children:[(0,a.jsx)("div",{className:"relative aspect-3/1 w-full overflow-hidden rounded-ds-lg lg:h-40 lg:w-[320px] lg:shrink-0",children:(0,a.jsx)(r.default,{src:n.imageSrc,alt:n.imageAlt,fill:!0,className:"object-cover",sizes:"(max-width: 1023px) 100vw, 320px"})}),(0,a.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[(0,a.jsx)(u.Typography,{as:"span",variant:"body-md-bold",tone:"ds-primary",children:n.label}),(0,a.jsx)(u.Typography,{as:"span",variant:"body-sm-regular",tone:"ds-tertiary",children:n.description})]})]}
6),(0,a.jsx)(p.Button,{asChild:!0,shape:"outline",tone:"primary",size:"cta-48",className:"w-full lg:w-auto lg:min-w-[140px] lg:rounded-full",children:(0,a.jsxs)(s.default,{href:n.href,className:"inline-flex items-center gap-1",children:[n.ctaLabel,(0,a.jsx)(t.ChevronRight,{size:16,"aria-hidden":!0})]})})]})})]})}e.s(["CarsWeeklyDeadlineEvent",()=>h],140646)},190549,e=>{"use strict";var a=e.i(843476),r=e.i(271645),s=e.i(657688),t=e.i(522016),i=e.i(870273),n=e.i(154452);e.i(481815);var l=e.i(979747);e.i(73991);var o=e.i(554271);e.i(927805);var c=e.i(534442),d=e.i(689968),p=e.i(881308);let u={type:"cars",loadRange:4};function m(){let{data:e}=(0,n.useSuspenseQuery)(l.providerQueries.topReviewed(u)),m=((0,o.useMediaQuery)(c.LG_MEDIA_QUERY),e.items),h=Math.max(1,Math.ceil(m.length/4)),[x,g]=r.useState(1);r.useEffect(()=>{x>h&&g(h)},[x,h]);let y=r.useMemo(()=>{let e=(x-1)*4;return m.slice(e,e+4)},[x,4,m]);return(0,a.jsxs)(d.ContentSection.Root,{headingId:"top-reviewed-providers-heading",children:[(0,a.jsxs)(d.ContentSection.Header,{className:"w-full flex-row justify-between gap-3",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(d.ContentSection.Description,{tone:"ds-primary",className:"hidden lg:block",children:"렌트카 예약 시 활용해보세요"}),(0,a.jsx)(d.ContentSection.Title,{id:"popular-cars-heading",tone:"ds-primary",children:"4점 이상 후기 좋은 렌트카 업체"})]}),(0,a.jsx)(d.ContentSection.ActionLink,{href:"/cars",children:"더보기"})]}),(0,a.jsx)("ul",{className:"grid grid-cols-2 gap-x-2 gap-y-6 lg:grid-cols-4 lg:gap-y-2",children:y.map(e=>(0,a.jsx)("li",{children:(0,a.jsx)(t.default,{href:"/cars",className:"block",children:(0,a.jsxs)("article",{className:"space-y-3",children:[(0,a.jsx)("div",{className:"relative aspect-4/3 overflow-hidden rounded-ds-lg bg-muted",children:(0,a.jsx)(s.default,{src:e.imagePath,alt:e.name,fill:!0,className:"object-cover",sizes:"(max-width: 1023px) 50vw, 25vw"})}),(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsxs)("p",{className:"m-0",children:[(0,a.jsx)(p.Typography,{as:"span",variant:"body-sm-bold",tone:"ds-primary",className:"lg:hidden",children:e.name}),(0,a.jsx)(p.Typography,{as:"span",variant:"title-md",tone:"ds-primary",className:"hidden lg:inline",children:e.name})]}),(0,a.jsxs)("p",{className:"m-0 inline-flex items-center gap-1",children:[(0,a.jsx)(i.Star,{className:"h-3 w-3 fill-current text-yellow-500","aria-hidden":!0}),(0,a.jsxs)(p.Typography,{as:"span",variant:"body-sm-regular",tone:"ds-secondary",children:[e.ratingLabel,null!=e.reviewCount?(0,a.jsx)(p.Typography,{as:"span",variant:"body-sm-regular",tone:"ds-muted",children:` (${e.reviewCount})`}):null]})]})]})]})})},e.id))})]})}e.s(["CarsTopReviewedProviders",()=>m])}]);

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.