{"version":3,"file":"CartSystem.DZe2LUZh.mjs","names":["React.useState","React.useCallback","l","p","React.useId","React.useMemo","_Fragment"],"sources":["https:/framerusercontent.com/modules/3Ms7JTXOh2tp2XZBQMBU/Tx2SB32wPEyz63RvuTdr/CartSystem.js"],"sourcesContent":["// CartSystem.tsx\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";const LS_CART_ITEMS=\"cartItems\";const LS_RENTAL_START=\"cartRentalStart\";const LS_RENTAL_END=\"cartRentalEnd\";// ─────────────────────────────────────────────\n// ✅ 드롭다운 상호 배타(전역)\n// ─────────────────────────────────────────────\nconst DROPDOWN_EVENT=\"cart:dropdown:open\";function emitDropdownOpen(key){try{window.dispatchEvent(new CustomEvent(DROPDOWN_EVENT,{detail:{key}}));}catch{// ignore\n}}function useExclusiveDropdownOpen(myKey){const[open,setOpen]=React.useState(false);React.useEffect(()=>{const onEvt=e=>{const detail=e&&e.detail;const openedKey=detail?.key??null;if(openedKey!==myKey)setOpen(false);};window.addEventListener(DROPDOWN_EVENT,onEvt);return()=>window.removeEventListener(DROPDOWN_EVENT,onEvt);},[myKey]);const closeMe=React.useCallback(()=>{emitDropdownOpen(null);setOpen(false);},[]);const toggleMe=React.useCallback(()=>{setOpen(prev=>{const next=!prev;emitDropdownOpen(next?myKey:null);return next;});},[myKey]);return{open,setOpen,closeMe,toggleMe};}// ─────────────────────────────────────────────\n// 금액 포맷\n// ─────────────────────────────────────────────\nfunction formatSignedWon(v){if(!isFinite(v)||v===0)return\"+0원\";const sign=v>0?\"+\":\"-\";const abs=Math.abs(v);return`${sign}${abs.toLocaleString(\"ko-KR\")}원`;}function formatWon(v){return`${Math.round(v).toLocaleString(\"ko-KR\")}원`;}function formatOptionPriceText(o){if(!isFinite(o.priceDelta))return\"+0원\";if(o.kind===\"note\")return\"\";if(o.kind===\"none\")return\"+0원\";if(o.priceDelta===0)return\"+0원\";if(o.mode===\"absolute\"){const abs=Math.abs(o.priceDelta);return`${abs.toLocaleString(\"ko-KR\")}원`;}const hint=o.signHint||\"\";if(hint===\"-\")return`-${Math.abs(o.priceDelta).toLocaleString(\"ko-KR\")}원`;return`+${Math.abs(o.priceDelta).toLocaleString(\"ko-KR\")}원`;}// ✅ (3) % 그룹 금액도 계산되게: \"% 그룹의 무부호 숫자\"를 delta(+값)로 파싱해주면\n// calcUnit 로직은 기존 그대로여도 정상 합산됩니다.\nfunction calcUnitBeforeDiscountWithMixedRules(basePrice,options,selectedIds){const selected=options.filter(o=>selectedIds.includes(o.id)).filter(o=>o.kind!==\"note\");const hasDeltaSelected=selected.some(o=>o.mode===\"delta\");const base=hasDeltaSelected?basePrice:0;const deltaSum=selected.filter(o=>o.mode===\"delta\").reduce((sum,o)=>sum+(isFinite(o.priceDelta)?o.priceDelta:0),0);const absSum=selected.filter(o=>o.kind===\"option\"&&o.mode===\"absolute\").reduce((sum,o)=>sum+Math.abs(o.priceDelta||0),0);return base+deltaSum+absSum;}function normalizeCategory(raw){const v=(raw||\"\").trim().toUpperCase();if(v===\"SET\")return\"SET\";if(v===\"CAMERA\")return\"CAMERA\";if(v===\"LENS\")return\"LENS\";if(v===\"TRIPOD&GRIB\"||v===\"TRIPOD&GRIP\"||v===\"TRIPOD/GRIB\"||v===\"TRIPOD/GRIP\"||v===\"TRIPODGRIB\"||v===\"TRIPODGRIP\"||v===\"TRIPOD\"||v===\"GRIB\"||v===\"GRIP\")return\"TRIPOD&GRIB\";if(v===\"MONITOR\")return\"MONITOR\";if(v===\"ACC\"||v===\"ACCESSORY\"||v===\"ACCESSORIES\")return\"ACC\";if(v===\"LIGHTING\"||v===\"LIGHT\")return\"LIGHTING\";if(v===\"AUDIO\")return\"AUDIO\";return\"OTHER\";}const CATEGORY_ORDER=[\"SET\",\"CAMERA\",\"LENS\",\"TRIPOD&GRIB\",\"MONITOR\",\"ACC\",\"LIGHTING\",\"AUDIO\",\"OTHER\"];function sortCartItemsByCategory(items){const orderIndex=new Map;CATEGORY_ORDER.forEach((k,i)=>orderIndex.set(k,i));return items.slice().sort((a,b)=>{const ia=orderIndex.get(normalizeCategory(a.category))??999;const ib=orderIndex.get(normalizeCategory(b.category))??999;if(ia!==ib)return ia-ib;return(a.addedAt||0)-(b.addedAt||0);});}// ─────────────────────────────────────────────\n// 마운트\n// ─────────────────────────────────────────────\nfunction shouldEnableMount(category){const c=normalizeCategory(category);return c===\"CAMERA\"||c===\"SET\"||c===\"LENS\";}function getAvailableMounts(mountPL,mountEF,mountE){const list=[];if(mountPL)list.push(\"PL\");if(mountEF)list.push(\"EF\");if(mountE)list.push(\"E\");return list;}// ─────────────────────────────────────────────\n// days multiplier\n// ─────────────────────────────────────────────\nfunction getLegacyRentalMultiplier(days){const d=Math.max(1,Math.floor(days));if(d===1)return 1;if(d===2)return 1.9;if(d===3)return 2.7;if(d===4)return 3.4;if(d===5)return 4;if(d===6)return 4.5;if(d===7)return 5;if(d<=30)return 5+(d-7)*.5;return 16.5+(d-30)*.5;}function getNewRentalMultiplier(days){const d=Math.max(1,Math.floor(days));const table={1:1,2:1.8,3:2.5,4:3.1,5:3.6,6:4,7:4.4,8:4.8,9:5.2,10:5.6,11:5.9,12:6.2,13:6.5,14:6.8,15:7.1,16:7.4,17:7.7,18:8,19:8.3,20:8.6,21:8.9,22:9.2,23:9.5,24:9.8,25:10.1,26:10.4,27:10.7,28:11,29:11.25,30:11.5};if(d<=30)return table[d]??1;return 11.5+(d-30)*.25;}function isNewRateByRentalStart(startStr){const start=parseLocalDateTimeHour(startStr);if(!start)return false;const cutoff=new Date(2026,4,1,0,0,0,0)// 2026-05-01 00:00\n;return start.getTime()>=cutoff.getTime();}function rentalMultiplier(days,rentalStartStr){if(rentalStartStr&&isNewRateByRentalStart(rentalStartStr)){return getNewRentalMultiplier(days);}return getLegacyRentalMultiplier(days);}function parseGroupHeaderLine(raw){let t=String(raw||\"\").trim();if(!t)return null;const first=t[0];const prefix=first===\"$\"?\"$\":first===\"%\"?\"%\":null;if(!prefix)return null;t=t.slice(1).trim();let force=null;if(t.includes(\"[단일]\"))force=\"single\";if(t.includes(\"[복수]\"))force=\"multi\";t=t.replaceAll(\"[단일]\",\"\").replaceAll(\"[복수]\",\"\").replaceAll(\"$\",\"\").replaceAll(\"%\",\"\").trim();return{prefix,title:t,exclusivePool:prefix===\"$\",force};}function parseOptions(optionsText){const linesRaw=(optionsText||\"\").split(/\\r?\\n/).map(l=>l.trim()).filter(l=>l.length>0);const firstLine=linesRaw[0]||\"\";const required=firstLine.includes(\"필수 선택\");const multiTrigger=firstLine.includes(\"복수 선택 가능\");const baseMultiAllowed=multiTrigger;const bodyLines=linesRaw.filter((l,idx)=>!(idx===0&&(firstLine.includes(\"필수 선택\")||firstLine.includes(\"복수 선택 가능\"))));const list=[];const groups=[];let groupIndex=0;const defaultGroupId=`g${groupIndex++}`;let currentGroupId=defaultGroupId;// ✅ 현재 그룹 prefix 추적 (% 그룹이면 무부호 가격도 delta로 처리)\nlet currentGroupPrefix=null;groups.push({id:defaultGroupId,title:\"\",multiAllowed:baseMultiAllowed,exclusivePool:false,requiredMinOne:false});let firstGroupRequiredAssigned=false;let explicitGroupCount=0;if(!required){list.push({id:\"none\",label:\"추가 요청 없음\",priceDelta:0,mode:\"delta\",kind:\"none\",signHint:\"+\",groupId:currentGroupId});}let optIndex=0;const makeNote=(label,groupId)=>{list.push({id:`note-${optIndex}-${Math.random().toString(16).slice(2)}`,label,priceDelta:0,mode:\"delta\",kind:\"note\",signHint:\"\",groupId});optIndex+=1;};bodyLines.forEach(line=>{if(!line.includes(\"|\")){const meta=parseGroupHeaderLine(line);if(meta){explicitGroupCount+=1;const newGroupId=`g${groupIndex++}`;let gMulti=baseMultiAllowed;if(meta.force===\"single\")gMulti=false;if(meta.force===\"multi\")gMulti=true;const groupObj={id:newGroupId,title:meta.title,multiAllowed:gMulti,exclusivePool:meta.exclusivePool,requiredMinOne:false};if(required&&!firstGroupRequiredAssigned){groupObj.requiredMinOne=true;firstGroupRequiredAssigned=true;}groups.push(groupObj);currentGroupId=newGroupId;// ✅ 그룹 prefix 업데이트\ncurrentGroupPrefix=meta.prefix;if(meta.title)makeNote(meta.title,newGroupId);return;}makeNote(line,currentGroupId);return;}const[labelPart,pricePartRaw]=line.split(\"|\").map(s=>s?.trim()??\"\");const label=labelPart||`옵션 ${optIndex+1}`;const priceText=(pricePartRaw||\"\").trim();if(!priceText){makeNote(label,currentGroupId);return;}const compact=priceText.replace(/\\s+/g,\"\");const cleaned=compact.replace(/원/g,\"\").replace(/,/g,\"\");const hasPlus=cleaned.startsWith(\"+\");const hasMinus=cleaned.startsWith(\"-\");const parsed=parseInt(cleaned,10);if(isNaN(parsed)){makeNote(label,currentGroupId);return;}let delta=parsed;let mode=hasPlus||hasMinus?\"delta\":\"absolute\";let signHint=hasMinus?\"-\":\"+\";// ✅ 0원은 항상 delta +0\nif(delta===0){mode=\"delta\";signHint=\"+\";}// ✅ (3) % 그룹: 무부호 숫자도 \"추가금(delta)\"로 계산되게 강제\n// 예) \"% 그룹\" 아래에 \"5000\" 이면 +5000으로 취급\nif(currentGroupPrefix===\"%\"&&!(hasPlus||hasMinus)){mode=\"delta\";signHint=\"+\";delta=Math.abs(delta);}list.push({id:`opt-${optIndex}`,label,priceDelta:delta,mode,kind:\"option\",signHint,groupId:currentGroupId});optIndex+=1;});if(required&&!firstGroupRequiredAssigned){const g0=groups.find(g=>g.id===defaultGroupId);if(g0)g0.requiredMinOne=true;}let overallMultiAllowed=baseMultiAllowed;if(!overallMultiAllowed){const hasExplicitGroup=explicitGroupCount>0;const hasAnyMultiGroup=groups.some(g=>!!g.multiAllowed);if(hasExplicitGroup&&(hasAnyMultiGroup||groups.length>1)){overallMultiAllowed=true;}}return{options:list,required,multiAllowed:overallMultiAllowed,groups};}function getDefaultSelectedIds(parsed){const{options,required,groups}=parsed;if(!required){const none=options.find(o=>o.id===\"none\");return none?[none.id]:[];}const requiredGroup=groups.find(g=>g.requiredMinOne);if(requiredGroup){const firstInReqGroup=options.find(o=>o.kind===\"option\"&&(o.groupId||\"\")===requiredGroup.id);if(firstInReqGroup)return[firstInReqGroup.id];}const firstReal=options.find(o=>o.kind===\"option\");return firstReal?[firstReal.id]:[];}function normalizeSelectedIds(parsed,ids){const{options,required,multiAllowed,groups}=parsed;const safe=Array.isArray(ids)?ids:[];if(safe.length===0)return getDefaultSelectedIds(parsed);const allowedIds=new Set(options.filter(o=>o.kind!==\"note\").map(o=>o.id));const filtered=safe.filter(id=>allowedIds.has(id));if(filtered.length===0)return getDefaultSelectedIds(parsed);const byId=new Map(options.map(o=>[o.id,o]));const groupById=new Map(groups.map(g=>[g.id,g]));const noneId=options.find(o=>o.id===\"none\")?.id;if(!multiAllowed){const last=filtered[filtered.length-1];const chosen=last?[last]:getDefaultSelectedIds(parsed);if(required&&noneId&&chosen.includes(noneId)){return getDefaultSelectedIds(parsed);}return chosen;}const pickedInOrder=[];filtered.forEach(id=>{const o=byId.get(id);if(!o)return;pickedInOrder.push(id);});let set=new Set(pickedInOrder);if(noneId){const hasOthers=Array.from(set).some(id=>id!==noneId);if(hasOthers&&set.has(noneId))set.delete(noneId);if(required&&set.has(noneId))set.delete(noneId);if(set.size===0)set=new Set(getDefaultSelectedIds(parsed));}// $그룹 교차 선택 불가\nconst exclusiveGroupsSelected=new Map;Array.from(set).forEach(id=>{const o=byId.get(id);if(!o)return;const gId=o.groupId||\"\";const g=groupById.get(gId);if(!g||!g.exclusivePool)return;if(!exclusiveGroupsSelected.has(gId))exclusiveGroupsSelected.set(gId,[]);exclusiveGroupsSelected.get(gId).push(id);});if(exclusiveGroupsSelected.size>=2){let lastExclusiveGroup=null;for(let i=pickedInOrder.length-1;i>=0;i--){const id=pickedInOrder[i];if(!set.has(id))continue;const o=byId.get(id);if(!o)continue;const gId=o.groupId||\"\";const g=groupById.get(gId);if(g&&g.exclusivePool){lastExclusiveGroup=gId;break;}}if(lastExclusiveGroup){Array.from(set).forEach(id=>{const o=byId.get(id);if(!o)return;const gId=o.groupId||\"\";const g=groupById.get(gId);if(g&&g.exclusivePool&&gId!==lastExclusiveGroup){set.delete(id);}});}}// 그룹 단일/복수 강제\nconst grouped={};pickedInOrder.forEach(id=>{if(!set.has(id))return;const o=byId.get(id);if(!o)return;const gId=o.groupId||\"\";if(!grouped[gId])grouped[gId]=[];grouped[gId].push(id);});Object.keys(grouped).forEach(gId=>{const g=groupById.get(gId);if(!g)return;if(!g.multiAllowed){const arr=grouped[gId];const keep=arr[arr.length-1];arr.slice(0,-1).forEach(id=>set.delete(id));if(keep)set.add(keep);}});// 필수 그룹 최소 1개 유지\ngroups.forEach(g=>{if(!g.requiredMinOne)return;const selectedInGroup=Array.from(set).filter(id=>{const o=byId.get(id);return o&&(o.groupId||\"\")===g.id&&o.kind!==\"note\";});if(selectedInGroup.length>0)return;const firstOpt=options.find(o=>o.kind===\"option\"&&(o.groupId||\"\")===g.id);if(firstOpt)set.add(firstOpt.id);});const out=Array.from(set);if(out.length===0)return getDefaultSelectedIds(parsed);return out;}function optionSignature(parsed,selectedIds){const normalized=normalizeSelectedIds(parsed,selectedIds);return normalized.slice().sort().join(\",\");}// ─────────────────────────────────────────────\n// ✅ 제외 렌즈(신규)\n// - 기본값/표기: \"없음\"\n// - 기존 저장값/입력값 호환: \"제외 렌즈 없음\" → \"없음\"으로 자동 변환\n// ─────────────────────────────────────────────\nconst EX_NONE_LABEL=\"없음\";const EX_NONE_ALIASES=new Set([\"없음\",\"제외 렌즈 없음\",\"제외렌즈 없음\",\"제외렌즈없음\"]);function normalizeExcludeLensLabel(v){const t=String(v||\"\").trim();if(!t)return\"\";return EX_NONE_ALIASES.has(t)?EX_NONE_LABEL:t;}function hasExcludeLensText(text){return(String(text||\"\").trim().length??0)>0;}function parseExcludeLensOptions(text){const lines=(text||\"\").split(/\\r?\\n/).map(l=>normalizeExcludeLensLabel(l)).map(l=>l.trim()).filter(l=>l.length>0);// 1번 기본은 무조건 \"없음\"으로 강제\nconst cleaned=lines.filter(l=>l!==EX_NONE_LABEL);// 중복 제거 + 순서 유지\nconst uniq=[];const seen=new Set;for(const l of cleaned){if(seen.has(l))continue;seen.add(l);uniq.push(l);}return[EX_NONE_LABEL,...uniq];}function normalizeExcludeLensSelected(available,selected){const safeAvailRaw=Array.isArray(available)?available:[];const safeAvail=safeAvailRaw.map(x=>normalizeExcludeLensLabel(x)).filter(Boolean);if(safeAvail.length===0)return[];const safe=Array.isArray(selected)?selected:[];const normalizedSel=safe.map(x=>normalizeExcludeLensLabel(x)).filter(Boolean);const set=new Set(normalizedSel.filter(x=>safeAvail.includes(x)));// 기본값: '없음'\nif(set.size===0)return[EX_NONE_LABEL];const hasNone=set.has(EX_NONE_LABEL);const others=Array.from(set).filter(x=>x!==EX_NONE_LABEL);// none + others 같이 있으면 none 제거\nif(hasNone&&others.length>0)return others;return Array.from(set);}function toggleExcludeLens(available,currentSelected,picked){const avail=(available||[]).map(x=>normalizeExcludeLensLabel(x)).filter(Boolean);const pickedNorm=normalizeExcludeLensLabel(picked);if(!pickedNorm||!avail.includes(pickedNorm))return currentSelected;const norm=normalizeExcludeLensSelected(avail,currentSelected);const set=new Set(norm);const isNone=pickedNorm===EX_NONE_LABEL;if(isNone){// none은 단독\nreturn[EX_NONE_LABEL];}// 다른 렌즈 토글\nif(set.has(pickedNorm))set.delete(pickedNorm);else set.add(pickedNorm);// 다른 렌즈 하나라도 있으면 none 제거\nif(set.size>=2&&set.has(EX_NONE_LABEL))set.delete(EX_NONE_LABEL);// 다 지웠으면 none으로 복귀\nconst others=Array.from(set).filter(x=>x!==EX_NONE_LABEL);if(others.length===0)return[EX_NONE_LABEL];return Array.from(set);}// ✅ \"추가요청 드롭다운에서 '추가 요청 없음' 또는 'SET' 포함 옵션 선택 시만 제외렌즈 표시\"\nfunction shouldShowExcludeLensDropdownFromOptions(parsed,selectedIds){const normalized=normalizeSelectedIds(parsed,selectedIds);const byId=new Map(parsed.options.map(o=>[o.id,o]));const effective=normalized.map(id=>byId.get(id)).filter(Boolean).filter(o=>o.kind!==\"note\");if(effective.length===0)return false;if(effective.length===1&&effective[0].id===\"none\")return true;return effective.some(o=>String(o.label||\"\").toUpperCase().includes(\"SET\"));}// ─────────────────────────────────────────────\n// 날짜/시간\n// ─────────────────────────────────────────────\nfunction parseLocalDateTimeHour(v){if(!v||typeof v!==\"string\"||!v.includes(\"T\"))return null;const[datePart,timePart]=v.split(\"T\");if(!datePart||!timePart)return null;const[y,m,d]=datePart.split(\"-\").map(Number);const[hhRaw]=timePart.split(\":\");const hh=Number(hhRaw);if(![y,m,d,hh].every(n=>Number.isFinite(n)))return null;return new Date(y,m-1,d,hh,0,0,0);}function calcRentalDaysFromStrings(startStr,endStr){const start=parseLocalDateTimeHour(startStr);const end=parseLocalDateTimeHour(endStr);if(!start||!end)return 1;const diffMs=end.getTime()-start.getTime();if(!isFinite(diffMs)||diffMs<=0)return 1;const diffHours=diffMs/(1e3*60*60);const adjustedHours=Math.max(0,diffHours-3);return Math.max(1,Math.ceil(adjustedHours/24));}function pad2(n){return String(n).padStart(2,\"0\");}function toDateStr(d){return`${d.getFullYear()}-${pad2(d.getMonth()+1)}-${pad2(d.getDate())}`;}function clampToNowStart(now,startDate,startHour){if(!startDate)return{startDate,startHour};const s=parseLocalDateTimeHour(`${startDate}T${startHour}:00`);if(!s)return{startDate,startHour};if(s.getTime()<now.getTime()){const forced=new Date(now);forced.setMinutes(0,0,0);return{startDate:toDateStr(forced),startHour:pad2(forced.getHours())};}return{startDate,startHour};}function ensureEndMinPlus1h(startDate,startHour,endDate,endHour){const start=startDate?parseLocalDateTimeHour(`${startDate}T${startHour}:00`):null;const end=endDate?parseLocalDateTimeHour(`${endDate}T${endHour}:00`):null;if(!start)return{endDate,endHour,minEndDate:\"\",minEndHour:\"00\"};const minEnd=new Date(start.getTime()+60*60*1e3);const minEndDate=toDateStr(minEnd);const minEndHour=pad2(minEnd.getHours());if(!end||end.getTime()<minEnd.getTime()){return{endDate:minEndDate,endHour:minEndHour,minEndDate,minEndHour};}return{endDate,endHour,minEndDate,minEndHour};}function getDefaultRentalRange(){const now=new Date;now.setMinutes(0,0,0);const start=new Date(now);const end=new Date(now.getTime()+24*60*60*1e3);return{startDate:toDateStr(start),startHour:pad2(start.getHours()),endDate:toDateStr(end),endHour:pad2(end.getHours())};}// ─────────────────────────────────────────────\n// 링크\n// ─────────────────────────────────────────────\nfunction isAbsUrl(s){return/^https?:\\/\\//i.test(s);}function joinPath(base,tail){const b=(base||\"\").trim();const t=(tail||\"\").trim();const bNoTrail=b.endsWith(\"/\")?b.slice(0,-1):b;const tNoLead=t.startsWith(\"/\")?t.slice(1):t;const joined=`${bNoTrail}/${tNoLead}`.replace(/\\/+/g,\"/\");return joined.startsWith(\"/\")?joined:`/${joined}`;}function resolveProductLink(productUrl,siteBasePath,slug){const s=(slug||\"\").trim();if(!s)return null;const p=(productUrl||\"\").trim();if(p){if(p.includes(\"{slug}\")){const replaced=p.replaceAll(\"{slug}\",s);if(isAbsUrl(replaced))return replaced;return replaced.startsWith(\"/\")?replaced:`/${replaced}`;}if(isAbsUrl(p)){const base=p.endsWith(\"/\")?p.slice(0,-1):p;const tail=s.startsWith(\"/\")?s.slice(1):s;return`${base}/${tail}`;}return joinPath(p,s);}const base=(siteBasePath||\"\").trim();if(base){if(isAbsUrl(base)){const b=base.endsWith(\"/\")?base.slice(0,-1):base;const tail=s.startsWith(\"/\")?s.slice(1):s;return`${b}/${tail}`;}return joinPath(base,s);}return joinPath(\"/\",s);}function QuantityInputRow({label,value,onChange,fontSize,color,fontFamily,controlWidth,labelControlGap,marginBottom}){const clamp=v=>Math.max(1,v);const handle=delta=>onChange(clamp(value+delta));return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:labelControlGap,marginBottom},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize,color,fontFamily,whiteSpace:\"nowrap\"},children:label}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",border:\"1px solid #ccc\",borderRadius:4,padding:\"4px 8px\",width:controlWidth,justifyContent:\"space-between\"},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>handle(-1),style:{background:\"none\",border:\"none\",fontSize,fontFamily,lineHeight:1,color,cursor:\"pointer\",width:24},children:\"-\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize,fontFamily,lineHeight:1,color},children:value}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>handle(1),style:{background:\"none\",border:\"none\",fontSize,fontFamily,lineHeight:1,color,cursor:\"pointer\",width:24},children:\"+\"})]})]});}// ─────────────────────────────────────────────\n// 옵션 표시(선택 라인)\n// ─────────────────────────────────────────────\nfunction getOptionPriceColor(o,plusColor,minusColor,noSignColor){if(o.kind===\"note\")return\"#999\";if(o.kind===\"none\")return plusColor;if(o.mode===\"absolute\")return noSignColor;const hint=o.signHint||\"\";if(o.mode===\"delta\"){if(o.priceDelta===0)return plusColor;if(hint===\"+\")return plusColor;if(hint===\"-\")return minusColor;}if(o.priceDelta>0)return plusColor;if(o.priceDelta<0)return minusColor;return plusColor;}function buildSelectedOptionsText(parsed,selectedIds,plusColor,minusColor,noSignColor){const normalized=normalizeSelectedIds(parsed,selectedIds);const selected=parsed.options.filter(o=>normalized.includes(o.id));const effective=selected.filter(o=>o.kind!==\"note\");if(effective.length===1&&effective[0].id===\"none\"){const o=effective[0];return{lines:[/*#__PURE__*/_jsxs(\"span\",{children:[o.label,\" \",/*#__PURE__*/_jsxs(\"span\",{style:{color:getOptionPriceColor(o,plusColor,minusColor,noSignColor)},children:[\"(\",formatOptionPriceText(o),\")\"]})]},\"none\")]};}const lines=effective.filter(o=>o.id!==\"none\").map(o=>{const c=getOptionPriceColor(o,plusColor,minusColor,noSignColor);return /*#__PURE__*/_jsxs(\"span\",{children:[o.label,\" \",/*#__PURE__*/_jsxs(\"span\",{style:{color:c},children:[\"(\",formatOptionPriceText(o),\")\"]})]},o.id);});return{lines};}function OptionDropdown({parsed,selectedIds,onChange,width,fontSize,maxVisibleRows=3,plusColor,minusColor,noSignColor,dropdownKey}){const rid=React.useId();const myKey=dropdownKey||`opt-${rid}`;const{open,toggleMe,closeMe}=useExclusiveDropdownOpen(myKey);const normalized=normalizeSelectedIds(parsed,selectedIds);const effectiveFontSize=fontSize??14;const isMultiOverall=parsed.multiAllowed;const byId=React.useMemo(()=>new Map(parsed.options.map(o=>[o.id,o])),[parsed.options]);const groupById=React.useMemo(()=>new Map(parsed.groups.map(g=>[g.id,g])),[parsed.groups]);const activeExclusiveGroupId=React.useMemo(()=>{for(let i=normalized.length-1;i>=0;i--){const id=normalized[i];const o=byId.get(id);if(!o)continue;const g=groupById.get(o.groupId||\"\");if(g&&g.exclusivePool)return g.id;}return null;},[normalized,byId,groupById]);const countSelectedInGroup=groupId=>{return normalized.filter(id=>{const o=byId.get(id);return o&&o.kind!==\"note\"&&(o.groupId||\"\")===groupId;}).length;};const handlePick=id=>{const picked=parsed.options.find(o=>o.id===id);if(!picked||picked.kind===\"note\")return;const pickedGroupId=picked.groupId||\"\";const pickedGroup=groupById.get(pickedGroupId);const isPickedExclusive=!!pickedGroup?.exclusivePool;if(isPickedExclusive&&activeExclusiveGroupId&&pickedGroup&&pickedGroup.id!==activeExclusiveGroupId){return;}if(!isMultiOverall){onChange([id]);closeMe();return;}const noneId=parsed.options.find(o=>o.id===\"none\")?.id;const current=new Set(normalized);if(noneId&&id===noneId){onChange([noneId]);closeMe();return;}const g=pickedGroup;const groupMultiAllowed=g?g.multiAllowed:true;const groupRequiredMinOne=!!g?.requiredMinOne;const already=current.has(id);if(already&&groupRequiredMinOne){const cnt=countSelectedInGroup(pickedGroupId);if(cnt<=1)return;// 마지막 하나면 해제 금지\n}if(!groupMultiAllowed){if(!already){parsed.options.forEach(o=>{if(o.kind!==\"note\"&&(o.groupId||\"\")===pickedGroupId){current.delete(o.id);}});current.add(id);}else{current.delete(id);}}else{if(already)current.delete(id);else current.add(id);}if(noneId&&current.has(noneId))current.delete(noneId);const next=normalizeSelectedIds(parsed,Array.from(current));onChange(next);};// ✅ 요약 라벨\nconst selectedAll=parsed.options.filter(o=>normalized.includes(o.id));const selectedEffective=selectedAll.filter(o=>o.kind!==\"note\");const effectiveExceptNone=selectedEffective.filter(o=>o.id!==\"none\");const hasNoneOnly=selectedEffective.length===1&&selectedEffective[0]?.id===\"none\";let summaryLabel=\"선택\";if(hasNoneOnly){summaryLabel=\"추가 요청 없음\";}else if(!isMultiOverall){summaryLabel=effectiveExceptNone[0]?.label||\"선택\";}else{if(effectiveExceptNone.length===1){summaryLabel=effectiveExceptNone[0].label;}else{summaryLabel=`${effectiveExceptNone.length}개 선택됨`;}}// 가격 합계 표시(기존 유지)\nconst selectedOpts=selectedEffective.filter(o=>o.kind===\"option\");const absSum=selectedOpts.filter(o=>o.mode===\"absolute\").reduce((s,o)=>s+Math.abs(o.priceDelta),0);const deltaSum=selectedOpts.filter(o=>o.mode===\"delta\").reduce((s,o)=>s+(isFinite(o.priceDelta)?o.priceDelta:0),0);const shownText=deltaSum!==0?formatSignedWon(deltaSum+absSum):absSum!==0?formatWon(absSum):\"+0원\";const summaryColor=deltaSum>0?plusColor:deltaSum<0?minusColor:absSum>0?noSignColor:plusColor;return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width},children:[/*#__PURE__*/_jsxs(\"div\",{onClick:toggleMe,style:{border:\"1px solid #ccc\",borderRadius:8,padding:\"6px 10px\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",cursor:\"pointer\",background:\"#ffffff\"},children:[/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:effectiveFontSize},children:[summaryLabel,\" \",/*#__PURE__*/_jsxs(\"span\",{style:{color:summaryColor},children:[\"(\",shownText,\")\"]})]}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:effectiveFontSize},children:open?\"▲\":\"▼\"})]}),open&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"100%\",right:0,marginTop:4,borderRadius:10,border:\"1px solid #ccc\",background:\"#ffffff\",boxShadow:\"0 6px 16px rgba(0,0,0,0.15)\",zIndex:9999,width:\"100%\",overflow:\"hidden\"},onMouseDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),children:/*#__PURE__*/_jsx(\"div\",{style:{padding:0},children:parsed.options.map(opt=>{if(opt.kind===\"note\"){return /*#__PURE__*/_jsx(\"div\",{style:{padding:\"10px 12px\",fontSize:effectiveFontSize,color:\"#777\",background:\"#fafafa\",borderBottom:\"1px solid rgba(0,0,0,0.04)\",userSelect:\"none\"},children:opt.label},opt.id);}const checked=normalized.includes(opt.id);const isNone=opt.id===\"none\";const g=new Map(parsed.groups.map(x=>[x.id,x])).get(opt.groupId||\"\");const isExclusive=!!g?.exclusivePool;const disabled=isExclusive&&!!activeExclusiveGroupId&&g&&g.id!==activeExclusiveGroupId;const priceColor=getOptionPriceColor(opt,plusColor,minusColor,noSignColor);const priceText=formatOptionPriceText(opt);return /*#__PURE__*/_jsxs(\"label\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",padding:\"8px 12px\",background:checked?\"rgba(96,226,226,0.1)\":\"#ffffff\",cursor:disabled?\"not-allowed\":\"pointer\",fontSize:effectiveFontSize,opacity:disabled?.45:1,borderBottom:\"1px solid rgba(0,0,0,0.04)\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8},children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",checked:checked,disabled:disabled,onChange:()=>{if(disabled)return;handlePick(opt.id);}}),/*#__PURE__*/_jsx(\"span\",{children:isNone?\"추가 요청 없음\":opt.label})]}),/*#__PURE__*/_jsx(\"span\",{style:{color:priceColor,whiteSpace:\"nowrap\"},children:priceText})]},opt.id);})})})]});}function ExcludeLensDropdown({available,selected,onChange,width,fontSize,dropdownKey,labelText=\"제외 렌즈\"}){const rid=React.useId();const myKey=dropdownKey||`exlens-${rid}`;const{open,toggleMe}=useExclusiveDropdownOpen(myKey);const effectiveFontSize=fontSize??14;const normAvailable=React.useMemo(()=>(available||[]).map(x=>normalizeExcludeLensLabel(x)),[available]);const normSelected=React.useMemo(()=>normalizeExcludeLensSelected(normAvailable,selected),[normAvailable,selected]);const effective=normSelected.filter(x=>x!==EX_NONE_LABEL);const summary=effective.length===0?EX_NONE_LABEL:effective.join(\", \");const pick=label=>{const next=toggleExcludeLens(normAvailable,normSelected,label);onChange(next);};return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width},children:[/*#__PURE__*/_jsxs(\"div\",{onClick:toggleMe,style:{border:\"1px solid #ccc\",borderRadius:8,padding:\"6px 10px\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",cursor:\"pointer\",background:\"#ffffff\"},children:[/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:effectiveFontSize},children:[labelText,\": \",summary]}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:effectiveFontSize},children:open?\"▲\":\"▼\"})]}),open&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"100%\",right:0,marginTop:4,borderRadius:10,border:\"1px solid #ccc\",background:\"#ffffff\",boxShadow:\"0 6px 16px rgba(0,0,0,0.15)\",zIndex:9999,width:\"100%\",overflow:\"hidden\"},onMouseDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),children:/*#__PURE__*/_jsx(\"div\",{style:{padding:0},children:normAvailable.map(opt=>{const checked=normSelected.includes(opt);return /*#__PURE__*/_jsx(\"label\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",padding:\"8px 12px\",background:checked?\"rgba(96,226,226,0.1)\":\"#ffffff\",cursor:\"pointer\",fontSize:effectiveFontSize,borderBottom:\"1px solid rgba(0,0,0,0.04)\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8},children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",checked:checked,onChange:()=>pick(opt)}),/*#__PURE__*/_jsx(\"span\",{children:opt})]})},opt);})})})]});}function MountDropdown({available,value,onChange,width,fontSize,dropdownKey,maxVisibleRows=3}){const rid=React.useId();const myKey=dropdownKey||`mount-${rid}`;const{open,toggleMe,closeMe}=useExclusiveDropdownOpen(myKey);const effectiveFontSize=fontSize??14;const radioName=`mount-${myKey}`;const label=value?`${value} 마운트`:\"마운트 선택\";const handlePick=m=>{onChange(m);closeMe();};return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width},children:[/*#__PURE__*/_jsxs(\"div\",{onClick:toggleMe,style:{border:\"1px solid #ccc\",borderRadius:8,padding:\"6px 10px\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",cursor:\"pointer\",background:\"#ffffff\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:effectiveFontSize},children:label}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:effectiveFontSize},children:open?\"▲\":\"▼\"})]}),open&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"100%\",right:0,marginTop:4,borderRadius:10,border:\"1px solid #ccc\",background:\"#ffffff\",boxShadow:\"0 6px 16px rgba(0,0,0,0.15)\",zIndex:9999,width:\"100%\",overflow:\"hidden\"},onMouseDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),children:/*#__PURE__*/_jsx(\"div\",{style:{maxHeight:maxVisibleRows*40,overflowY:\"auto\",overscrollBehavior:\"contain\",WebkitOverflowScrolling:\"touch\",touchAction:\"pan-y\"},onWheelCapture:e=>e.stopPropagation(),onTouchMove:e=>e.stopPropagation(),children:available.map(m=>{const checked=m===value;return /*#__PURE__*/_jsx(\"label\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",padding:\"8px 12px\",background:checked?\"rgba(96,226,226,0.1)\":\"#ffffff\",cursor:\"pointer\",fontSize:effectiveFontSize,borderBottom:\"1px solid rgba(0,0,0,0.04)\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8},children:[/*#__PURE__*/_jsx(\"input\",{type:\"radio\",name:radioName,checked:checked,onChange:()=>handlePick(m)}),/*#__PURE__*/_jsxs(\"span\",{children:[m,\" 마운트\"]})]})},m);})})})]});}export function CartInputProvider({name=\"카메라1\",price=\"10000\",image,category=\"CAMERA\",slug=\"detail-slug\",productUrl=\"\",designMode=\"Desktop\",optionsText=\"\",mountPL=false,mountEF=false,mountE=false,optionPlusColor=\"#ff0000\",optionMinusColor=\"#00aeff\",optionNoSignColor=\"#119696\",excludeLensText=\"\"}){const[quantity,setQuantity]=React.useState(1);const[pressed,setPressed]=React.useState(false);const[buttonText,setButtonText]=React.useState(\"장바구니 담기\");const isDesktop=designMode===\"Desktop\";const containerWidth=isDesktop?400:314;const controlWidth=220;const fontSize=16;const color=\"#000000\";const fontFamily=\"ChangwonDangamRound Regular\";const groupGap=16;const labelControlGap=isDesktop?40:32;const mountEnabled=shouldEnableMount(category);const availableMounts=React.useMemo(()=>mountEnabled?getAvailableMounts(mountPL,mountEF,mountE):[],[mountEnabled,mountPL,mountEF,mountE]);const showMountDropdown=mountEnabled&&availableMounts.length>=2;const autoMount=mountEnabled&&availableMounts.length===1?availableMounts[0]:\"\";const[mountSelected,setMountSelected]=React.useState(showMountDropdown?availableMounts[0]||\"\":autoMount||\"\");React.useEffect(()=>{const avail=mountEnabled?getAvailableMounts(mountPL,mountEF,mountE):[];const show=mountEnabled&&avail.length>=2;const auto=mountEnabled&&avail.length===1?avail[0]:\"\";if(show){setMountSelected(prev=>prev&&avail.includes(prev)?prev:avail[0]||\"\");}else{setMountSelected(auto||\"\");}// eslint-disable-next-line react-hooks/exhaustive-deps\n},[mountEnabled,mountPL,mountEF,mountE]);const parsed=React.useMemo(()=>parseOptions(optionsText),[optionsText]);const[selectedOptionIds,setSelectedOptionIds]=React.useState(getDefaultSelectedIds(parsed));React.useEffect(()=>{const nextParsed=parseOptions(optionsText);setSelectedOptionIds(getDefaultSelectedIds(nextParsed));// eslint-disable-next-line react-hooks/exhaustive-deps\n},[optionsText]);const normalizedSelected=normalizeSelectedIds(parsed,selectedOptionIds);const basePrice=parseFloat(price)||0;// ✅ 제외 렌즈 input 쪽 상태\nconst exAvail=React.useMemo(()=>parseExcludeLensOptions(excludeLensText),[excludeLensText]);const exHasText=hasExcludeLensText(excludeLensText);const[excludeSelected,setExcludeSelected]=React.useState(exHasText?normalizeExcludeLensSelected(exAvail,[]):[]);// CMS 텍스트가 바뀌면 기본값 재세팅\nReact.useEffect(()=>{if(!hasExcludeLensText(excludeLensText)){setExcludeSelected([]);return;}const avail=parseExcludeLensOptions(excludeLensText);setExcludeSelected(prev=>normalizeExcludeLensSelected(avail,prev));// eslint-disable-next-line react-hooks/exhaustive-deps\n},[excludeLensText]);// ✅ (1) 제외 렌즈는 LENS 카테고리에서만 활성화\nconst isLensCategory=normalizeCategory(category)===\"LENS\";const showExcludeLens=React.useMemo(()=>{if(!isLensCategory)return false;if(!exHasText)return false;return shouldShowExcludeLensDropdownFromOptions(parsed,normalizedSelected);},[isLensCategory,exHasText,parsed,normalizedSelected]);const excludeKeySuffix=showExcludeLens?\"show\":\"hide\";const handleAddToCart=()=>{const safeSlug=String(slug||\"\").trim();if(!safeSlug){alert(\"슬러그가 비어 있습니다. (slug 필수)\");return;}const sig=optionSignature(parsed,normalizedSelected);const mountSig=mountEnabled?String(mountSelected||autoMount||\"\").trim():\"\";const normalizedExcludeToSave=exHasText&&isLensCategory?normalizeExcludeLensSelected(exAvail,excludeSelected):[];const cartItem={quantity,days:1,name,price:String(basePrice),image,addedAt:Date.now(),optionsText,selectedOptionIds:normalizedSelected,category,slug:safeSlug,productUrl:String(productUrl||\"\").trim()||undefined,mountAvailable:mountEnabled&&availableMounts.length>=2?availableMounts:undefined,mountSelected:mountEnabled?mountSelected||autoMount||undefined:undefined,// ✅ 제외 렌즈 저장(텍스트가 있고 + LENS일 때만 저장)\nexcludeLensText:exHasText&&isLensCategory?String(excludeLensText||\"\"):undefined,excludeLensSelected:exHasText&&isLensCategory?normalizedExcludeToSave:undefined};const existing=JSON.parse(localStorage.getItem(LS_CART_ITEMS)||\"[]\");const isDuplicate=existing.some(item=>{if(item.name!==name)return false;if((item.slug||\"\").trim()!==safeSlug)return false;const p=parseOptions(item.optionsText||\"\");const a=optionSignature(p,item.selectedOptionIds||[]);if(a!==sig)return false;const itemMount=String(item.mountSelected||\"\").trim();if(mountSig!==itemMount)return false;// ✅ 제외 렌즈까지 동일하면 중복\nconst exText=item.excludeLensText||\"\";const exEnabled=hasExcludeLensText(exText)&&normalizeCategory(item.category)===\"LENS\";const exA=exEnabled?parseExcludeLensOptions(exText):[];const exSigA=exEnabled?normalizeExcludeLensSelected(exA,item.excludeLensSelected||[]).slice().sort().join(\"|\"):\"\";const exSigB=exHasText&&isLensCategory?normalizeExcludeLensSelected(exAvail,normalizedExcludeToSave).slice().sort().join(\"|\"):\"\";if(exSigA!==exSigB)return false;return true;});if(isDuplicate){alert(\"이미 장바구니에 담긴 상품입니다! (옵션/마운트/제외렌즈 동일)\");return;}const next=sortCartItemsByCategory([...existing,cartItem]);localStorage.setItem(LS_CART_ITEMS,JSON.stringify(next));setPressed(true);setButtonText(\"장바구니 담기 완료!\");setTimeout(()=>{setPressed(false);setButtonText(\"장바구니 담기\");},1e3);};const ddBaseKey=React.useMemo(()=>{const s=String(slug||\"\").trim()||\"no-slug\";const n=String(name||\"\").trim()||\"no-name\";return`input-${s}-${n}`;},[slug,name]);return /*#__PURE__*/_jsxs(\"div\",{style:{width:containerWidth,display:\"flex\",flexDirection:\"column\",fontFamily},children:[/*#__PURE__*/_jsx(QuantityInputRow,{label:\"대여 수량\",value:quantity,onChange:setQuantity,fontSize:fontSize,color:color,fontFamily:fontFamily,controlWidth:controlWidth,labelControlGap:labelControlGap,marginBottom:groupGap}),showMountDropdown&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:labelControlGap,marginBottom:groupGap},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize,color,fontFamily,whiteSpace:\"nowrap\"},children:\"마운트\"}),/*#__PURE__*/_jsx(\"div\",{style:{width:controlWidth},children:/*#__PURE__*/_jsx(MountDropdown,{available:availableMounts,value:mountSelected,onChange:setMountSelected,width:controlWidth,fontSize:14,dropdownKey:`${ddBaseKey}-mount`,maxVisibleRows:3})})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:labelControlGap,marginBottom:groupGap},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize,color,fontFamily,whiteSpace:\"nowrap\"},children:\"추가 요청\"}),/*#__PURE__*/_jsx(\"div\",{style:{width:controlWidth},children:/*#__PURE__*/_jsx(OptionDropdown,{parsed:parsed,selectedIds:normalizedSelected,onChange:setSelectedOptionIds,width:controlWidth,fontSize:14,maxVisibleRows:3,plusColor:optionPlusColor,minusColor:optionMinusColor,noSignColor:optionNoSignColor,dropdownKey:`${ddBaseKey}-opt`})})]}),showExcludeLens&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:labelControlGap,marginBottom:groupGap},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize,color,fontFamily,whiteSpace:\"nowrap\"},children:\"제외 렌즈\"}),/*#__PURE__*/_jsx(\"div\",{style:{width:controlWidth},children:/*#__PURE__*/_jsx(ExcludeLensDropdown,{available:exAvail,selected:excludeSelected,onChange:setExcludeSelected,width:controlWidth,fontSize:14,dropdownKey:`${ddBaseKey}-ex-${excludeKeySuffix}`,labelText:\"제외 렌즈\"})})]}),/*#__PURE__*/_jsx(\"button\",{onClick:handleAddToCart,style:{backgroundColor:pressed?\"#067575\":\"#60e2e2\",color:\"white\",fontSize:16,fontWeight:\"bold\",padding:\"12px 0\",borderRadius:8,border:\"none\",cursor:\"pointer\",width:\"100%\",transition:\"background-color 0.15s ease\"},children:buttonText})]});}addPropertyControls(CartInputProvider,{name:{type:ControlType.String,title:\"상품명\",defaultValue:\"카메라1\"},price:{type:ControlType.String,title:\"기본가\",defaultValue:\"10000\"},image:{type:ControlType.Image,title:\"이미지\"},category:{type:ControlType.String,title:\"카테고리\",defaultValue:\"CAMERA\"},slug:{type:ControlType.String,title:\"슬러그(필수)\",defaultValue:\"detail-slug\"},productUrl:{type:ControlType.String,title:\"상품 링크(base/템플릿)\",defaultValue:\"/camera-page/camera\"},mountPL:{type:ControlType.Boolean,title:\"PL\",defaultValue:false},mountEF:{type:ControlType.Boolean,title:\"EF\",defaultValue:false},mountE:{type:ControlType.Boolean,title:\"E\",defaultValue:false},optionsText:{type:ControlType.String,title:\"옵션 텍스트\",defaultValue:\"필수 선택\\n%[단일]\\n추가요청 없음 |+0\\n--SET |+0\\n개별 렌즈 |+0\"},// ✅ 제외 렌즈 (CMS 텍스트)\nexcludeLensText:{type:ControlType.String,title:\"제외 렌즈 텍스트\",defaultValue:\"없음\\n16-35\\n24-70\\n70-200\"},designMode:{type:ControlType.Enum,title:\"디자인 모드\",options:[\"Desktop\",\"Mobile\"],optionTitles:[\"데스크탑\",\"모바일\"],defaultValue:\"Desktop\"},optionPlusColor:{type:ControlType.Color,title:\"옵션 + 색\",defaultValue:\"#ff0000\"},optionMinusColor:{type:ControlType.Color,title:\"옵션 - 색\",defaultValue:\"#00aeff\"},optionNoSignColor:{type:ControlType.Color,title:\"옵션 무부호 색\",defaultValue:\"#119696\"}});export function CartList({backgroundColor,textColor,fontSize,borderColor,borderRadius,mode,cardGap,showRentalSelector,selectorTitle,selectorBg,selectorBorderColor,selectorBorderWidth,selectorRadius,selectorGap,discountNoteFontDesktop,discountNoteFontMobile,optionChangeOffsetX,siteBasePath,optionPlusColor,optionMinusColor,optionNoSignColor,optionChangeTextColor}){const[cartItems,setCartItems]=React.useState([]);const[editingIndex,setEditingIndex]=React.useState(null);const[tempSelectedIds,setTempSelectedIds]=React.useState([]);const[tempMount,setTempMount]=React.useState(\"\");// ✅ 제외 렌즈 임시 상태\nconst[tempExcludeSelected,setTempExcludeSelected]=React.useState([]);const[startDate,setStartDate]=React.useState(\"\");const[startHour,setStartHour]=React.useState(\"00\");const[endDate,setEndDate]=React.useState(\"\");const[endHour,setEndHour]=React.useState(\"00\");const isMobile=mode===\"Mobile\";const fontFamily=\"ChangwonDangamRound Regular\";const noteFontSize=isMobile?discountNoteFontMobile:discountNoteFontDesktop// eslint-disable-line @typescript-eslint/no-unused-vars\n;const hourOptions=React.useMemo(()=>Array.from({length:24},(_,i)=>String(i).padStart(2,\"0\")),[]);React.useEffect(()=>{const s=localStorage.getItem(LS_RENTAL_START)||\"\";const e=localStorage.getItem(LS_RENTAL_END)||\"\";if(!s||!e||!s.includes(\"T\")||!e.includes(\"T\")){const def=getDefaultRentalRange();setStartDate(def.startDate);setStartHour(def.startHour);setEndDate(def.endDate);setEndHour(def.endHour);localStorage.setItem(LS_RENTAL_START,`${def.startDate}T${def.startHour}:00`);localStorage.setItem(LS_RENTAL_END,`${def.endDate}T${def.endHour}:00`);return;}const[sd,st]=s.split(\"T\");const[ed,et]=e.split(\"T\");const sh=(st||\"00:00\").split(\":\")[0]||\"00\";const eh=(et||\"00:00\").split(\":\")[0]||\"00\";setStartDate(sd||\"\");setStartHour(String(sh).padStart(2,\"0\"));setEndDate(ed||\"\");setEndHour(String(eh).padStart(2,\"0\"));},[]);React.useEffect(()=>{const stored=JSON.parse(localStorage.getItem(LS_CART_ITEMS)||\"[]\");const filtered=stored.filter(it=>(it.slug||\"\").trim().length>0);// ✅ 과거 저장값(제외 렌즈 없음) → 없음 으로 마이그레이션\nconst migrated=filtered.map(it=>{const exText=it.excludeLensText||\"\";const exEnabled=hasExcludeLensText(exText)&&normalizeCategory(it.category)===\"LENS\";if(!exEnabled)return{...it,excludeLensSelected:undefined,excludeLensText:it.excludeLensText};const avail=parseExcludeLensOptions(exText);const nextSel=normalizeExcludeLensSelected(avail,it.excludeLensSelected||[]);return{...it,excludeLensSelected:nextSel};});setCartItems(sortCartItemsByCategory(migrated));localStorage.setItem(LS_CART_ITEMS,JSON.stringify(sortCartItemsByCategory(migrated)));},[]);const saveCart=items=>{const sorted=sortCartItemsByCategory(items);setCartItems(sorted);localStorage.setItem(LS_CART_ITEMS,JSON.stringify(sorted));};React.useEffect(()=>{const now=new Date;now.setMinutes(0,0,0);const clampedStart=clampToNowStart(now,startDate,startHour);if(clampedStart.startDate!==startDate)setStartDate(clampedStart.startDate);if(clampedStart.startHour!==startHour)setStartHour(clampedStart.startHour);const ensured=ensureEndMinPlus1h(clampedStart.startDate,clampedStart.startHour,endDate,endHour);if(ensured.endDate!==endDate)setEndDate(ensured.endDate);if(ensured.endHour!==endHour)setEndHour(ensured.endHour);// eslint-disable-next-line react-hooks/exhaustive-deps\n},[startDate,startHour,endDate,endHour]);const rentalStart=startDate?`${startDate}T${startHour}:00`:\"\";const rentalEnd=endDate?`${endDate}T${endHour}:00`:\"\";React.useEffect(()=>{if(rentalStart)localStorage.setItem(LS_RENTAL_START,rentalStart);if(rentalEnd)localStorage.setItem(LS_RENTAL_END,rentalEnd);const days=rentalStart&&rentalEnd?calcRentalDaysFromStrings(rentalStart,rentalEnd):1;if(cartItems.length>0){const unified=cartItems.map(it=>({...it,days}));saveCart(unified);}// eslint-disable-next-line react-hooks/exhaustive-deps\n},[rentalStart,rentalEnd]);const updateQuantity=(index,delta)=>{const updated=[...cartItems];const target=updated[index];const current=target.quantity||1;target.quantity=Math.max(1,current+delta);saveCart(updated);};const handleDelete=index=>{const updated=cartItems.filter((_,i)=>i!==index);saveCart(updated);};const startEditOptions=index=>{const item=cartItems[index];const parsed=parseOptions(item.optionsText||\"\");const normalized=normalizeSelectedIds(parsed,item.selectedOptionIds||[]);setEditingIndex(index);setTempSelectedIds(normalized);const avail=item.mountAvailable||[];const editable=shouldEnableMount(item.category)&&avail.length>=2;if(editable){const current=String(item.mountSelected||\"\").trim();setTempMount(current&&avail.includes(current)?current:avail[0]||\"\");}else{setTempMount(\"\");}// ✅ 제외 렌즈 temp (LENS일 때만)\nconst isLens=normalizeCategory(item.category)===\"LENS\";const exText=item.excludeLensText||\"\";if(isLens&&hasExcludeLensText(exText)){const exAvail=parseExcludeLensOptions(exText);const exNorm=normalizeExcludeLensSelected(exAvail,item.excludeLensSelected||[]);setTempExcludeSelected(exNorm);}else{setTempExcludeSelected([]);}};const cancelEditOptions=()=>{setEditingIndex(null);setTempSelectedIds([]);setTempMount(\"\");setTempExcludeSelected([]);};const applyEditOptions=()=>{if(editingIndex===null)return;const updated=[...cartItems];const item=updated[editingIndex];const parsed=parseOptions(item.optionsText||\"\");const normalized=normalizeSelectedIds(parsed,tempSelectedIds);item.selectedOptionIds=normalized;const avail=item.mountAvailable||[];const editable=shouldEnableMount(item.category)&&avail.length>=2;if(editable){const next=tempMount&&avail.includes(tempMount)?tempMount:avail[0]||\"\";item.mountSelected=next;}// ✅ 제외 렌즈 저장 (LENS일 때만)\nconst isLens=normalizeCategory(item.category)===\"LENS\";const exText=item.excludeLensText||\"\";if(isLens&&hasExcludeLensText(exText)){const exAvail=parseExcludeLensOptions(exText);item.excludeLensSelected=normalizeExcludeLensSelected(exAvail,tempExcludeSelected);}else{item.excludeLensSelected=undefined;}saveCart(updated);setEditingIndex(null);setTempSelectedIds([]);setTempMount(\"\");setTempExcludeSelected([]);};const buttonStyle=(size,color)=>({background:\"none\",border:\"none\",fontSize:size,fontFamily,lineHeight:1,cursor:\"pointer\",color,padding:0});const goDetail=item=>{const url=resolveProductLink(item.productUrl,siteBasePath,item.slug);if(!url)return;try{window.location.assign(url);}catch{window.location.href=url;}};// ✅ 조건부 무료 상품 계산\nconst freePricing=React.useMemo(()=>{const appleName=\"애플박스\";const saddleName=\"새들\";const adapterName=\"어댑터\";const hasSupportCategory=(excludeNames,categories)=>{return cartItems.some(it=>{const n=String(it.name||\"\").trim();if(excludeNames.includes(n))return false;const c=normalizeCategory(it.category);return categories.includes(c);});};return{appleName,saddleName,adapterName,appleFree:hasSupportCategory([appleName],[\"SET\",\"CAMERA\",\"LENS\"]),saddleFree:hasSupportCategory([saddleName],[\"SET\",\"CAMERA\"]),adapterFree:hasSupportCategory([adapterName],[\"LENS\"])};},[cartItems]);function getFreeRuleText(itemName){if(itemName===\"애플박스\"){return\"SET/CAMERA/LENS 상품과 함께 대여 시 무료\";}if(itemName===\"새들\"){return\"SET/CAMERA 상품과 함께 대여 시 무료\";}if(itemName===\"어댑터\"){return\"LENS 상품과 함께 대여 시 무료\";}return\"\";}function isConditionallyFreeItem(item,pricing){const name=String(item.name||\"\").trim();if(name===pricing.appleName)return pricing.appleFree;if(name===pricing.saddleName)return pricing.saddleFree;if(name===pricing.adapterName)return pricing.adapterFree;return false;}const RentalSelector=()=>{if(!showRentalSelector)return null;const now=new Date;now.setMinutes(0,0,0);const minStartDate=toDateStr(now);const nowHour=now.getHours();const disableStartHour=h=>startDate===minStartDate&&Number(h)<nowHour;const ensured=ensureEndMinPlus1h(startDate,startHour,endDate,endHour);const minEndDate=ensured.minEndDate||minStartDate;const minEndHour=ensured.minEndHour||\"00\";const inputStyle={width:\"100%\",padding:\"10px 12px\",borderRadius:8,border:`1px solid ${borderColor}`,fontFamily,fontSize:fontSize-1};const disableEndHour=h=>{if(endDate===minEndDate&&Number(h)<Number(minEndHour))return true;return false;};return /*#__PURE__*/_jsxs(\"div\",{style:{border:`${selectorBorderWidth}px solid ${selectorBorderColor}`,borderRadius:selectorRadius,background:selectorBg,padding:isMobile?12:16,display:\"flex\",flexDirection:\"column\",gap:selectorGap},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize,fontWeight:700,color:textColor},children:selectorTitle}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:isMobile?\"column\":\"row\",gap:selectorGap,alignItems:isMobile?\"stretch\":\"flex-end\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,display:\"flex\",flexDirection:\"column\",gap:6},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:fontSize-2,color:\"#666\"},children:\"대여일시 (24시)\"}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:8},children:[/*#__PURE__*/_jsx(\"input\",{type:\"date\",value:startDate,min:minStartDate,onChange:e=>setStartDate(e.target.value),style:inputStyle}),/*#__PURE__*/_jsx(\"select\",{value:startHour,onChange:e=>setStartHour(e.target.value),style:{...inputStyle,width:110,flexShrink:0},children:hourOptions.map(h=>/*#__PURE__*/_jsxs(\"option\",{value:h,disabled:disableStartHour(h),children:[h,\":00\"]},h))})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,display:\"flex\",flexDirection:\"column\",gap:6},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:fontSize-2,color:\"#666\"},children:\"반납일시 (24시)\"}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:8},children:[/*#__PURE__*/_jsx(\"input\",{type:\"date\",value:endDate,min:minEndDate,onChange:e=>setEndDate(e.target.value),style:inputStyle}),/*#__PURE__*/_jsx(\"select\",{value:endHour,onChange:e=>setEndHour(e.target.value),style:{...inputStyle,width:110,flexShrink:0},children:hourOptions.map(h=>/*#__PURE__*/_jsxs(\"option\",{value:h,disabled:disableEndHour(h),children:[h,\":00\"]},h))})]})]})]})]});};const optionChangeWrapStyle={marginTop:4,alignSelf:\"flex-start\",transform:`translateX(${optionChangeOffsetX}px)`};const renderDesktopItem=(item,index)=>{const parsed=parseOptions(item.optionsText||\"\");const selectedIds=index===editingIndex?tempSelectedIds:item.selectedOptionIds||[];const normalizedIds=normalizeSelectedIds(parsed,selectedIds);const{lines}=buildSelectedOptionsText(parsed,normalizedIds,optionPlusColor,optionMinusColor,optionNoSignColor);const basePrice=parseFloat(item.price)||0;const unitOriginal=calcUnitBeforeDiscountWithMixedRules(basePrice,parsed.options,normalizedIds);const days=Math.max(1,item.days||1);const mult=rentalMultiplier(days,rentalStart);// ✅ (4) 무료 아이템 처리\nconst isFreeItem=isConditionallyFreeItem(item,freePricing);const freeRuleText=getFreeRuleText(String(item.name||\"\").trim());const unit=isFreeItem?0:unitOriginal;const subtotalOriginal=unitOriginal*mult*item.quantity;const subtotal=isFreeItem?0:unit*mult*item.quantity;const isEditing=index===editingIndex;const imgSize=120;const boxWidth=160;const clickable=(item.slug||\"\").trim().length>0;const mountAvail=item.mountAvailable||[];const mountEditable=shouldEnableMount(item.category)&&mountAvail.length>=2;const mountValue=String(item.mountSelected||\"\").trim();const effectiveTempMount=mountEditable?tempMount&&mountAvail.includes(tempMount)?tempMount:mountAvail[0]||\"\":\"\";const cardKey=`list-${item.slug}-${item.addedAt}`;// ✅ 제외 렌즈 (1) LENS에서만\nconst isLens=normalizeCategory(item.category)===\"LENS\";const exText=item.excludeLensText||\"\";const exHas=isLens&&hasExcludeLensText(exText);const exAvail=exHas?parseExcludeLensOptions(exText):[];const exSelected=index===editingIndex?tempExcludeSelected:item.excludeLensSelected||[];const exNorm=exHas?normalizeExcludeLensSelected(exAvail,exSelected):[];const exOthers=exNorm.filter(x=>x!==EX_NONE_LABEL);const exDisplay=exOthers.length===0?EX_NONE_LABEL:exOthers.join(\", \");const showExclude=exHas?shouldShowExcludeLensDropdownFromOptions(parsed,normalizedIds):false;return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",border:`1px solid ${borderColor}`,borderRadius,padding:\"16px 24px\",backgroundColor,minHeight:210,boxShadow:\"0 2px 6px rgba(0,0,0,0.05)\",fontFamily,display:\"grid\",gridTemplateColumns:`${imgSize}px 1fr 240px 160px`,columnGap:20,alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>handleDelete(index),style:{position:\"absolute\",top:8,right:6,background:\"none\",border:\"none\",cursor:\"pointer\",fontSize,color:textColor,fontFamily,lineHeight:1},children:\"x\"}),/*#__PURE__*/_jsx(\"div\",{role:\"button\",tabIndex:0,onKeyDown:e=>e.key===\"Enter\"&&goDetail(item),onClick:()=>clickable&&goDetail(item),style:{width:imgSize,height:imgSize,cursor:clickable?\"pointer\":\"default\"},children:item.image&&/*#__PURE__*/_jsx(\"img\",{src:item.image,alt:item.name,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",borderRadius}})}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:4,fontSize,color:textColor},children:[/*#__PURE__*/_jsx(\"div\",{role:\"button\",tabIndex:0,onKeyDown:e=>e.key===\"Enter\"&&goDetail(item),onClick:()=>clickable&&goDetail(item),style:{fontWeight:\"bold\",WebkitTextStroke:\"0.3px black\",cursor:clickable?\"pointer\":\"default\",userSelect:\"none\",marginBottom:8},children:item.name}),isEditing?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8},children:[mountEditable&&/*#__PURE__*/_jsx(MountDropdown,{available:mountAvail,value:effectiveTempMount,onChange:setTempMount,width:260,fontSize:fontSize-1,dropdownKey:`${cardKey}-mount`,maxVisibleRows:3}),/*#__PURE__*/_jsx(OptionDropdown,{parsed:parsed,selectedIds:normalizedIds,onChange:setTempSelectedIds,width:260,fontSize:fontSize-1,maxVisibleRows:3,plusColor:optionPlusColor,minusColor:optionMinusColor,noSignColor:optionNoSignColor,dropdownKey:`${cardKey}-opt`}),showExclude&&/*#__PURE__*/_jsx(ExcludeLensDropdown,{available:exAvail,selected:exNorm,onChange:setTempExcludeSelected,width:260,fontSize:fontSize-1,dropdownKey:`${cardKey}-ex`,labelText:\"제외 렌즈\"})]}):/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:fontSize-2,color:\"#666\",display:\"flex\",flexDirection:\"column\",gap:4},children:[mountValue&&/*#__PURE__*/_jsx(\"span\",{children:`마운트 선택: ${mountValue}`}),lines.map((node,i)=>/*#__PURE__*/_jsx(\"span\",{children:node},i)),showExclude&&/*#__PURE__*/_jsx(\"span\",{children:`제외렌즈 : ${exDisplay}`})]}),/*#__PURE__*/_jsx(\"div\",{style:optionChangeWrapStyle,children:isEditing?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:8},children:[/*#__PURE__*/_jsx(\"button\",{style:buttonStyle(fontSize-2,optionChangeTextColor),onClick:applyEditOptions,children:\"변경완료\"}),/*#__PURE__*/_jsx(\"button\",{style:buttonStyle(fontSize-2,optionChangeTextColor),onClick:cancelEditOptions,children:\"취소\"})]}):/*#__PURE__*/_jsx(\"button\",{style:buttonStyle(fontSize-2,optionChangeTextColor),onClick:()=>startEditOptions(index),children:\"옵션 변경\"})}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:8,fontSize:fontSize-1,color:\"#444\"},children:isFreeItem?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:6},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:10},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:\"#111\",fontWeight:800,textDecoration:\"line-through\",opacity:.6},children:formatWon(unitOriginal)}),/*#__PURE__*/_jsx(\"span\",{style:{color:\"red\",fontWeight:900},children:\"->\"}),/*#__PURE__*/_jsx(\"span\",{style:{color:\"red\",fontWeight:900},children:formatWon(0)})]}),/*#__PURE__*/_jsx(\"div\",{style:{color:\"red\",fontSize:fontSize-4},children:freeRuleText})]}):/*#__PURE__*/_jsx(\"div\",{style:{color:\"#111\",fontWeight:800},children:formatWon(unitOriginal)})})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:12,alignItems:\"flex-end\",justifySelf:\"end\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"flex-end\",gap:18,width:\"100%\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize,whiteSpace:\"nowrap\"},children:\"대여일수\"}),/*#__PURE__*/_jsxs(\"div\",{style:{width:boxWidth,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",border:`1px solid ${borderColor}`,borderRadius:6,padding:\"4px 8px\",fontSize,fontFamily,color:textColor,fontWeight:400},children:[days,\"일\"]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"flex-end\",gap:18,width:\"100%\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize,whiteSpace:\"nowrap\"},children:\"대여수량\"}),/*#__PURE__*/_jsxs(\"div\",{style:{width:boxWidth,display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",border:`1px solid ${borderColor}`,borderRadius:6,padding:\"4px 8px\"},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>updateQuantity(index,-1),style:buttonStyle(fontSize,textColor),children:\"-\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize,fontFamily,lineHeight:1,color:textColor},children:item.quantity}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>updateQuantity(index,1),style:buttonStyle(fontSize,textColor),children:\"+\"})]})]})]}),/*#__PURE__*/_jsx(\"div\",{style:{minWidth:140,textAlign:\"right\",fontWeight:\"bold\",fontSize,color:textColor,justifySelf:\"end\"},children:formatWon(subtotal)})]},item.addedAt);};const renderMobileItem=(item,index)=>{const parsed=parseOptions(item.optionsText||\"\");const selectedIds=index===editingIndex?tempSelectedIds:item.selectedOptionIds||[];const normalizedIds=normalizeSelectedIds(parsed,selectedIds);const{lines}=buildSelectedOptionsText(parsed,normalizedIds,optionPlusColor,optionMinusColor,optionNoSignColor);const basePrice=parseFloat(item.price)||0;const unitOriginal=calcUnitBeforeDiscountWithMixedRules(basePrice,parsed.options,normalizedIds);const days=Math.max(1,item.days||1);const mult=rentalMultiplier(days,rentalStart);// ✅ (4) 무료 아이템 처리\nconst isFreeItem=isConditionallyFreeItem(item,freePricing);const freeRuleText=getFreeRuleText(String(item.name||\"\").trim());const unit=isFreeItem?0:unitOriginal;const subtotal=isFreeItem?0:unit*mult*item.quantity;const isEditing=index===editingIndex;const boxWidth=140;const clickable=(item.slug||\"\").trim().length>0;const mountAvail=item.mountAvailable||[];const mountEditable=shouldEnableMount(item.category)&&mountAvail.length>=2;const mountValue=String(item.mountSelected||\"\").trim();const effectiveTempMount=mountEditable?tempMount&&mountAvail.includes(tempMount)?tempMount:mountAvail[0]||\"\":\"\";const cardKey=`listm-${item.slug}-${item.addedAt}`;// ✅ 제외 렌즈 (1) LENS에서만\nconst isLens=normalizeCategory(item.category)===\"LENS\";const exText=item.excludeLensText||\"\";const exHas=isLens&&hasExcludeLensText(exText);const exAvail=exHas?parseExcludeLensOptions(exText):[];const exSelected=index===editingIndex?tempExcludeSelected:item.excludeLensSelected||[];const exNorm=exHas?normalizeExcludeLensSelected(exAvail,exSelected):[];const exOthers=exNorm.filter(x=>x!==EX_NONE_LABEL);const exDisplay=exOthers.length===0?EX_NONE_LABEL:exOthers.join(\", \");const showExclude=exHas?shouldShowExcludeLensDropdownFromOptions(parsed,normalizedIds):false;return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",display:\"flex\",flexDirection:\"column\",gap:8,border:`1px solid ${borderColor}`,borderRadius,padding:\"12px\",backgroundColor,minHeight:150,boxShadow:\"0 2px 6px rgba(0,0,0,0.05)\",fontFamily},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>handleDelete(index),style:{position:\"absolute\",top:8,right:6,background:\"none\",border:\"none\",cursor:\"pointer\",fontSize,color:textColor,fontFamily,lineHeight:1},children:\"x\"}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:12,alignItems:\"flex-start\"},children:[/*#__PURE__*/_jsx(\"div\",{role:\"button\",tabIndex:0,onKeyDown:e=>e.key===\"Enter\"&&goDetail(item),onClick:()=>clickable&&goDetail(item),style:{width:70,height:70,flexShrink:0,cursor:clickable?\"pointer\":\"default\"},children:item.image&&/*#__PURE__*/_jsx(\"img\",{src:item.image,alt:item.name,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",borderRadius}})}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,display:\"flex\",flexDirection:\"column\",gap:4,fontSize,color:textColor},children:[/*#__PURE__*/_jsx(\"div\",{role:\"button\",tabIndex:0,onKeyDown:e=>e.key===\"Enter\"&&goDetail(item),onClick:()=>clickable&&goDetail(item),style:{fontWeight:\"bold\",WebkitTextStroke:\"0.3px black\",cursor:clickable?\"pointer\":\"default\",userSelect:\"none\",marginBottom:8},children:item.name}),isEditing?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8},children:[mountEditable&&/*#__PURE__*/_jsx(MountDropdown,{available:mountAvail,value:effectiveTempMount,onChange:setTempMount,width:220,fontSize:fontSize-2,dropdownKey:`${cardKey}-mount`,maxVisibleRows:3}),/*#__PURE__*/_jsx(OptionDropdown,{parsed:parsed,selectedIds:normalizedIds,onChange:setTempSelectedIds,width:220,fontSize:fontSize-2,maxVisibleRows:3,plusColor:optionPlusColor,minusColor:optionMinusColor,noSignColor:optionNoSignColor,dropdownKey:`${cardKey}-opt`}),showExclude&&/*#__PURE__*/_jsx(ExcludeLensDropdown,{available:exAvail,selected:exNorm,onChange:setTempExcludeSelected,width:220,fontSize:fontSize-2,dropdownKey:`${cardKey}-ex`,labelText:\"제외 렌즈\"})]}):/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:fontSize-2,color:\"#666\",display:\"flex\",flexDirection:\"column\",gap:4},children:[mountValue&&/*#__PURE__*/_jsx(\"span\",{children:`마운트 선택: ${mountValue}`}),lines.map((node,i)=>/*#__PURE__*/_jsx(\"span\",{children:node},i)),showExclude&&/*#__PURE__*/_jsx(\"span\",{children:`제외렌즈 : ${exDisplay}`})]}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:4,display:\"flex\",justifyContent:\"flex-start\",alignItems:\"center\",gap:8,transform:`translateX(${optionChangeOffsetX}px)`},children:isEditing?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"button\",{style:buttonStyle(fontSize-2,optionChangeTextColor),onClick:applyEditOptions,children:\"변경완료\"}),/*#__PURE__*/_jsx(\"button\",{style:buttonStyle(fontSize-2,optionChangeTextColor),onClick:cancelEditOptions,children:\"취소\"})]}):/*#__PURE__*/_jsx(\"button\",{style:buttonStyle(fontSize-2,optionChangeTextColor),onClick:()=>startEditOptions(index),children:\"옵션 변경\"})}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:6,fontSize:fontSize-2,color:\"#444\"},children:[isFreeItem?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:6},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:10},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:\"#111\",fontWeight:800,textDecoration:\"line-through\",opacity:.6},children:formatWon(unitOriginal)}),/*#__PURE__*/_jsx(\"span\",{style:{color:\"red\",fontWeight:900},children:\"->\"}),/*#__PURE__*/_jsx(\"span\",{style:{color:\"red\",fontWeight:900},children:formatWon(0)})]}),/*#__PURE__*/_jsx(\"div\",{style:{color:\"red\",fontSize:fontSize-3},children:freeRuleText})]}):/*#__PURE__*/_jsx(\"div\",{style:{color:\"#111\",fontWeight:800},children:formatWon(unitOriginal)}),\")}\"]})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"flex-end\",alignItems:\"center\",gap:12,marginTop:16},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize,whiteSpace:\"nowrap\"},children:\"대여일수\"}),/*#__PURE__*/_jsxs(\"div\",{style:{width:boxWidth,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",border:`1px solid ${borderColor}`,borderRadius:6,padding:\"4px 8px\",fontSize,fontFamily,color:textColor,fontWeight:400},children:[days,\"일\"]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"flex-end\",alignItems:\"center\",gap:12},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize,whiteSpace:\"nowrap\"},children:\"대여수량\"}),/*#__PURE__*/_jsxs(\"div\",{style:{width:boxWidth,display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",border:`1px solid ${borderColor}`,borderRadius:6,padding:\"4px 8px\"},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>updateQuantity(index,-1),style:buttonStyle(fontSize,textColor),children:\"-\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize,fontFamily,lineHeight:1,color:textColor},children:item.quantity}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>updateQuantity(index,1),style:buttonStyle(fontSize,textColor),children:\"+\"})]})]}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:4,textAlign:\"right\",fontWeight:\"bold\",fontSize,color:textColor},children:formatWon(subtotal)})]},item.addedAt);};const EmptyCartCard=()=>/*#__PURE__*/_jsx(\"div\",{style:{border:`1px solid ${borderColor}`,borderRadius,background:backgroundColor,padding:\"16px 24px\",boxShadow:\"0 2px 6px rgba(0,0,0,0.05)\",fontFamily,textAlign:\"center\",color:\"red\",fontSize,fontWeight:700},children:\"장바구니가 비어 있습니다.\"});return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:cardGap,fontFamily},children:[/*#__PURE__*/_jsx(RentalSelector,{}),cartItems.length===0?/*#__PURE__*/_jsx(EmptyCartCard,{}):cartItems.map((item,index)=>isMobile?renderMobileItem(item,index):renderDesktopItem(item,index))]});}addPropertyControls(CartList,{mode:{type:ControlType.Enum,title:\"디자인 모드\",options:[\"Desktop\",\"Mobile\"],optionTitles:[\"데스크탑\",\"모바일\"],defaultValue:\"Desktop\"},backgroundColor:{type:ControlType.Color,title:\"배경색\",defaultValue:\"#ffffff\"},textColor:{type:ControlType.Color,title:\"텍스트 색상\",defaultValue:\"#000000\"},fontSize:{type:ControlType.Number,title:\"글자 크기\",defaultValue:16},borderColor:{type:ControlType.Color,title:\"테두리 색상\",defaultValue:\"#cccccc\"},borderRadius:{type:ControlType.Number,title:\"모서리 둥글기\",defaultValue:8,min:0,max:100},cardGap:{type:ControlType.Number,title:\"카드 간격\",defaultValue:12,min:0,max:80},showRentalSelector:{type:ControlType.Boolean,title:\"대여기간 선택\",defaultValue:true},selectorTitle:{type:ControlType.String,title:\"선택 제목\",defaultValue:\"대여 기간 선택\",hidden:p=>!p.showRentalSelector},selectorBg:{type:ControlType.Color,title:\"선택 배경\",defaultValue:\"#ffffff\",hidden:p=>!p.showRentalSelector},selectorBorderColor:{type:ControlType.Color,title:\"대여기간 테두리색\",defaultValue:\"#777777\",hidden:p=>!p.showRentalSelector},selectorBorderWidth:{type:ControlType.Number,title:\"대여기간 테두리두께\",defaultValue:2,min:0,max:10,hidden:p=>!p.showRentalSelector},selectorRadius:{type:ControlType.Number,title:\"선택 라운드\",defaultValue:12,min:0,max:40,hidden:p=>!p.showRentalSelector},selectorGap:{type:ControlType.Number,title:\"선택 간격\",defaultValue:12,min:0,max:40,hidden:p=>!p.showRentalSelector},discountNoteFontDesktop:{type:ControlType.Number,title:\"할인문구 폰트(PC)\",defaultValue:14,min:8,max:24},discountNoteFontMobile:{type:ControlType.Number,title:\"할인문구 폰트(모바일)\",defaultValue:12,min:8,max:24},optionChangeOffsetX:{type:ControlType.Number,title:\"옵션버튼 X\",defaultValue:-4,min:-40,max:40,step:1},siteBasePath:{type:ControlType.String,title:\"사이트 base(fallback)\",defaultValue:\"/\"},optionPlusColor:{type:ControlType.Color,title:\"옵션 + 색\",defaultValue:\"#ff0000\"},optionMinusColor:{type:ControlType.Color,title:\"옵션 - 색\",defaultValue:\"#0073FF\"},optionNoSignColor:{type:ControlType.Color,title:\"옵션 무부호 색\",defaultValue:\"#FF915E\"},optionChangeTextColor:{type:ControlType.Color,title:\"옵션변경 글자색\",defaultValue:\"#00217A\"}});export default CartInputProvider;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CartInputProvider\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"CartInputProvider\":{\"type\":\"reactComponent\",\"name\":\"CartInputProvider\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"CartList\":{\"type\":\"reactComponent\",\"name\":\"CartList\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CartSystem.map"],"mappings":"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"}