{"version":3,"file":"Trading_Carousel_Fleet.BkfPbRQl.mjs","names":["useRef","useState","useCallback","useMemo","__esmMin","pe","init_ssg_sandbox_shims","ne","init_npm_react_18_3_1","de","window","init_jsx_runtime","Ba","init_npm_react_dom_18_3_1","c","p","ce","_e","useAnimation","motion","init_framer_motion_DhsWWWsN","useMotionValue","addPropertyControls","init_framer_BWFVvmND","ControlType","VideoPlayer","init_VideoPlayer_FFz9BW","getPortalRoot","el","PORTAL_ID","CmsRailCarousel","props","containerRef","hiddenRef","containerWidth","setContainerWidth","itemCount","setItemCount","currentIndex","setCurrentIndex","timer","controls","x","popupVideoUrl","setPopupVideoUrl","isDragging","VIMEO_RE","ro","entry","findListEl","root","countItems","listEl","timeout","mo","collection","visibleCount","gap","itemWidth","maxIndex","step","canScroll","canGoPrev","canGoNext","animateTo","clamped","index","target","snapAnimation","goNext","goPrev","onDragEnd","offset","info","velocity","handler","autoPlay","next","i","autoPlayInterval","STATUS_ORDER","GROUP_IDX","readStatusFromText","s","text","parseDateLike","raw","direct","re","m","parsed","readCardDate","named","card","countStatusChildren","n","node","findCardsContainer","best","bestCount","walker","cur","applyLayout","alignment","children","enablePopup","seen","uniqueChildren","key","status","canDedup","decorated","nonEmpty","d","missing","groupOf","g","a","b","currentSig","nextSig","fragment","handleItemClick","item","videoUrl","dvEl","match","allEls","attr","links","link","href","wrapStyle","style","dragConstraints","arrowContainerStyle","arrowPosition","arrowBottomOffset","arrowSize","arrowGap","overflowVisible","dragEnabled","showArrows","Arrow","arrowColor","arrowBg","arrowBgHover","showDots","dotBase","dotSize","dotActiveColor","dotColor","VideoPopup","popupBorderRadius","popupVideoZoom","visible","setVisible","closing","setClosing","orig","onKey","handleClose","onClose","CloseButton","hover","setHover","isL","side","disabled","onClick","size","bgHover","bg","color","hovered","setHovered","e","init_Trading_Carousel_Fleet"],"sources":["https:/framerusercontent.com/modules/JoewRltNFIL8BeFtIlfy/xkf948kErkvwCh0S9rGA/Trading_Carousel_Fleet.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useRef,useEffect,useCallback,useMemo}from\"react\";import ReactDOM from\"react-dom\";import{motion,useMotionValue,useAnimation}from\"framer-motion\";import VideoPlayer from\"https://framer.com/m/VideoPlayer-FFz9BW.js\";/**\n * CMS RAIL CAROUSEL\n *\n * Connecte une Collection List Framer via le prop « collection ».\n * Popup vidéo : activer « Video Popup », binder le champ CMS vidéo\n * (URL Vimeo) comme texte dans chaque card. Un clic ouvre le\n * VideoPlayer en fullscreen overlay.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */// ── Portal Root (hors du tree Framer, attaché à <html>) ──\n// Fix mobile : position:fixed est cassé par les transforms Framer sur mobile.\n// En attachant à <html> directement (pas <body>), on sort complètement\n// du stacking context Framer et position:fixed fonctionne sur viewport réel.\nconst PORTAL_ID=\"cms-rail-popup-root\";function getPortalRoot(){let el=document.getElementById(PORTAL_ID);if(!el){el=document.createElement(\"div\");el.id=PORTAL_ID;el.style.cssText=`\n            position: fixed;\n            inset: 0;\n            z-index: 2147483647;\n            pointer-events: none;\n            isolation: isolate;\n        `;document.documentElement.appendChild(el);}return el;}export default function CmsRailCarousel(props){const{collection,itemWidth=320,gap=24,autoPlay=false,autoPlayInterval=4,showArrows=true,arrowSize=44,arrowColor=\"#ffffff\",arrowBg=\"rgba(0,0,0,0.5)\",arrowBgHover=\"rgba(0,0,0,0.8)\",arrowGap=12,arrowBottomOffset=24,arrowPosition=\"bottom\",showDots=false,dotColor=\"rgba(255,255,255,0.3)\",dotActiveColor=\"#ffffff\",dotSize=8,overflowVisible=true,snapAnimation=\"spring\",activeScale=1,inactiveScale=1,inactiveOpacity=1,dragEnabled=true,alignment=\"start\",// ── Popup props ──\nenablePopup=false,popupBorderRadius=16,popupVideoZoom=100,style}=props;// ── Refs ──\nconst containerRef=useRef(null);const hiddenRef=useRef(null);const[containerWidth,setContainerWidth]=useState(0);const[itemCount,setItemCount]=useState(0);const[currentIndex,setCurrentIndex]=useState(0);const timer=useRef(null);const controls=useAnimation();const x=useMotionValue(0);// ── Popup state ──\nconst[popupVideoUrl,setPopupVideoUrl]=useState(null);const isDragging=useRef(false);// ── Vimeo URL regex ──\nconst VIMEO_RE=/https?:\\/\\/(?:player\\.)?vimeo\\.com\\/(?:video\\/)?(\\d+)[^\\s\"]*/i;// ── Cleanup portal root on unmount ──\nuseEffect(()=>{return()=>{const el=document.getElementById(PORTAL_ID);if(el&&!el.hasChildNodes()){el.remove();}};},[]);// ── Measure container ──\nuseEffect(()=>{const el=containerRef.current;if(!el)return;const ro=new ResizeObserver(([entry])=>{setContainerWidth(entry.contentRect.width);});ro.observe(el);return()=>ro.disconnect();},[]);// ── Helper: find the real list element ──\nconst findListEl=useCallback(root=>{if(root.children.length>1)return root;if(root.children.length===1)return findListEl(root.children[0]);return root;},[]);// ── Observe hidden collection to count items ──\nuseEffect(()=>{const el=hiddenRef.current;if(!el)return;const countItems=()=>{const listEl=findListEl(el);setItemCount(listEl.children.length);};const timeout=setTimeout(countItems,100);const mo=new MutationObserver(countItems);mo.observe(el,{childList:true,subtree:true});return()=>{clearTimeout(timeout);mo.disconnect();};},[collection,findListEl]);const visibleCount=useMemo(()=>{if(containerWidth<=0)return 1;return Math.max(1,Math.floor((containerWidth+gap)/(itemWidth+gap)));},[containerWidth,itemWidth,gap]);const maxIndex=useMemo(()=>Math.max(0,itemCount-visibleCount),[itemCount,visibleCount]);const step=itemWidth+gap;const canScroll=itemCount>visibleCount;useEffect(()=>{if(currentIndex>maxIndex)setCurrentIndex(maxIndex);},[maxIndex,currentIndex]);const canGoPrev=currentIndex>0;const canGoNext=currentIndex<maxIndex;const animateTo=useCallback(index=>{const clamped=Math.max(0,Math.min(index,maxIndex));setCurrentIndex(clamped);const target=-(clamped*step);if(snapAnimation===\"spring\"){controls.start({x:target,transition:{type:\"spring\",stiffness:300,damping:32,mass:.8}});}else{controls.start({x:target,transition:{type:\"tween\",duration:.45,ease:[.25,.1,.25,1]}});}},[maxIndex,step,snapAnimation,controls]);const goNext=useCallback(()=>animateTo(currentIndex+1),[currentIndex,animateTo]);const goPrev=useCallback(()=>animateTo(currentIndex-1),[currentIndex,animateTo]);const onDragEnd=useCallback((_,info)=>{const offset=info.offset.x;const velocity=info.velocity.x;const swipe=Math.abs(offset)>step*.25||Math.abs(velocity)>300;if(swipe){if(offset<0&&canGoNext)animateTo(currentIndex+1);else if(offset>0&&canGoPrev)animateTo(currentIndex-1);else animateTo(currentIndex);}else{animateTo(currentIndex);}},[currentIndex,canGoNext,canGoPrev,step,animateTo]);useEffect(()=>{const el=containerRef.current;if(!el)return;const handler=e=>{if(e.key===\"ArrowRight\")goNext();if(e.key===\"ArrowLeft\")goPrev();};el.addEventListener(\"keydown\",handler);return()=>el.removeEventListener(\"keydown\",handler);},[goNext,goPrev]);useEffect(()=>{if(!autoPlay||!canScroll)return;timer.current=setInterval(()=>{setCurrentIndex(i=>{const next=i>=maxIndex?0:i+1;animateTo(next);return next;});},autoPlayInterval*1e3);return()=>{if(timer.current)clearInterval(timer.current);};},[autoPlay,autoPlayInterval,maxIndex,canScroll,animateTo]);useEffect(()=>{controls.set({x:-(currentIndex*step)});},[containerWidth]);// ── Apply carousel layout to the hidden rendered collection ──\nuseEffect(()=>{const el=hiddenRef.current;if(!el)return;/* Same status/date sort as the desktop CmsCarouselTrading and\n           the /aircraft-trading/for-sale filter override:\n             1. Available\n             2. Deal Pending\n             3. Sold + Acquired mixed, transaction date most-recent-first. */const STATUS_ORDER=[\"Available\",\"Deal Pending\",\"Acquired\",\"Sold\"];const GROUP_IDX={Available:0,\"Deal Pending\":1,Acquired:2,Sold:2};const readStatusFromText=text=>{for(const s of STATUS_ORDER){const re=new RegExp(`\\\\b${s.replace(/\\s+/g,\"\\\\s+\")}\\\\b`,\"i\");if(re.test(text))return s;}return null;};const parseDateLike=raw=>{const t=(raw||\"\").trim();if(!t)return 0;const direct=Date.parse(t);if(!Number.isNaN(direct))return direct;const patterns=[/\\b(\\d{4})-(\\d{2})-(\\d{2})\\b/,/\\b(\\d{1,2})\\s+(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z]*\\s+(\\d{4})\\b/i,/\\b(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z]*\\s+(\\d{1,2}),?\\s+(\\d{4})\\b/i,/\\b(\\d{1,2})\\/(\\d{1,2})\\/(\\d{2,4})\\b/,/\\b(\\d{1,2})-(\\d{1,2})-(\\d{2,4})\\b/];for(const re of patterns){const m=t.match(re);if(!m)continue;const parsed=Date.parse(m[0]);if(!Number.isNaN(parsed))return parsed;}return 0;};const readCardDate=card=>{const named=card.querySelector('[data-framer-name=\"TransactionDate\"]')||card.querySelector('[data-framer-name=\"Transaction Date\"]')||card.querySelector('[data-framer-name=\"Transaction date\"]')||card.querySelector('[data-framer-name=\"transaction date\"]')||card.querySelector('[data-framer-name=\"transactionDate\"]');if(named){const p=parseDateLike(named.innerText||named.textContent||\"\");if(p)return p;}return parseDateLike(card.innerText||card.textContent||\"\");};/* Find the real card container by walking the whole subtree\n           and picking the element with the most status-recognisable\n           direct children. Otherwise `findListEl` can stop on a\n           filter/chrome wrapper. */const countStatusChildren=node=>{let n=0;for(const c of Array.from(node.children)){if(!(c instanceof HTMLElement))continue;if(readStatusFromText(c.textContent||\"\"))n++;}return n;};const findCardsContainer=root=>{let best=null;let bestCount=1;const walker=document.createTreeWalker(root,NodeFilter.SHOW_ELEMENT,null);let cur=walker.currentNode;while(cur=walker.nextNode()){if(!(cur instanceof HTMLElement))continue;const n=countStatusChildren(cur);if(n>bestCount){bestCount=n;best=cur;}}return best||findListEl(root);};const applyLayout=()=>{const listEl=findCardsContainer(el);listEl.style.display=\"flex\";listEl.style.flexWrap=\"nowrap\";listEl.style.gap=`${gap}px`;listEl.style.alignItems=alignment===\"center\"?\"center\":alignment===\"end\"?\"flex-end\":\"flex-start\";const children=Array.from(listEl.children).filter(c=>c instanceof HTMLElement&&c.tagName!==\"STYLE\"&&c.tagName!==\"SCRIPT\");children.forEach(c=>{c.style.flex=\"0 0 auto\";c.style.width=`${itemWidth}px`;c.style.minWidth=`${itemWidth}px`;c.style.pointerEvents=\"auto\";c.style.userSelect=\"none\";c.style.webkitUserSelect=\"none\";if(enablePopup){c.style.cursor=\"pointer\";}});/* ── Dedup ghost cards (Framer Motion transient clones) ──\n               Conservative — only dedup when the signature is long\n               AND the card has a recognisable status. That way empty\n               skeleton cards during hydration are never collapsed\n               (which was killing the whole mobile list). */const seen=new Set;const uniqueChildren=[];for(const c of children){const key=(c.textContent||\"\").replace(/\\s+/g,\" \").trim().slice(0,80);const status=readStatusFromText(c.textContent||\"\");const canDedup=key.length>=20&&status!==null;if(canDedup&&seen.has(key)){c.remove();continue;}if(canDedup)seen.add(key);uniqueChildren.push(c);}/* ── Sort by status + date ── */const decorated=uniqueChildren.map((el,i)=>({el,status:readStatusFromText(el.textContent||\"\"),date:readCardDate(el),i}));/* Skip sort if the DOM is in transition (>15 % of non-empty\n               cards missing a status). Observer will re-fire. */const nonEmpty=decorated.filter(d=>!!(d.el.textContent||\"\").trim());const missing=nonEmpty.filter(d=>!d.status).length;if(nonEmpty.length>0&&missing/nonEmpty.length>.15){return;}const groupOf=s=>s&&s in GROUP_IDX?GROUP_IDX[s]:999;decorated.sort((a,b)=>{const g=groupOf(a.status)-groupOf(b.status);if(g!==0)return g;const d=b.date-a.date;if(d!==0)return d;return a.i-b.i;});const currentSig=uniqueChildren.map(c=>(c.textContent||\"\").slice(0,40)).join(\"|\");const nextSig=decorated.map(d=>(d.el.textContent||\"\").slice(0,40)).join(\"|\");/* Cap visible cards to the first N post-sort. */const CAP=10;decorated.forEach((d,i)=>{d.el.style.display=i<CAP?\"\":\"none\";});if(currentSig!==nextSig){const fragment=document.createDocumentFragment();decorated.forEach(({el})=>fragment.appendChild(el));listEl.appendChild(fragment);}};const timeout=setTimeout(applyLayout,100);const mo=new MutationObserver(applyLayout);mo.observe(el,{childList:true,subtree:true});return()=>{clearTimeout(timeout);mo.disconnect();};},[collection,gap,itemWidth,alignment,enablePopup,findListEl]);// ── Popup click handler ──\nconst handleItemClick=useCallback(e=>{if(!enablePopup)return;if(isDragging.current)return;const listEl=findListEl(hiddenRef.current);let item=e.target;while(item&&item.parentElement!==listEl){item=item.parentElement;}if(!item)return;let videoUrl=null;// 1) data-video-url attribute sur l'item ou un enfant\nvideoUrl=item.getAttribute(\"data-video-url\");if(!videoUrl){const dvEl=item.querySelector(\"[data-video-url]\");if(dvEl)videoUrl=dvEl.getAttribute(\"data-video-url\");}// 2) textContent (inclut les éléments display:none et opacity:0)\nif(!videoUrl){const tc=item.textContent||\"\";const match=tc.match(VIMEO_RE);if(match)videoUrl=match[0];}// 3) Scanner TOUS les attributs de TOUS les enfants\nif(!videoUrl){const allEls=item.querySelectorAll(\"*\");for(const el of Array.from(allEls)){for(const attr of Array.from(el.attributes)){const match=attr.value.match(VIMEO_RE);if(match){videoUrl=match[0];break;}}if(videoUrl)break;}}// 4) Chercher dans les href des liens\nif(!videoUrl){const links=item.querySelectorAll(\"a[href]\");for(const link of Array.from(links)){const href=link.href;if(VIMEO_RE.test(href)){videoUrl=href;break;}}}// 5) Dernier recours : innerHTML brut\nif(!videoUrl){const html=item.innerHTML;const match=html.match(VIMEO_RE);if(match)videoUrl=match[0];}if(videoUrl){e.preventDefault();e.stopPropagation();setPopupVideoUrl(videoUrl);}},[enablePopup,findListEl]);// ── Empty state ──\nif(!collection){return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{...wrapStyle,...style,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexDirection:\"column\",gap:8,background:\"#13131f\",color:\"#6b6b88\",fontFamily:\"'Inter', 'SF Pro Display', -apple-system, sans-serif\"},children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"32\",height:\"32\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"2\",y:\"2\",width:\"20\",height:\"20\",rx:\"3\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M9 9h6M9 13h4\"})]}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14},children:\"Connecte une Collection List au slot \\xab Collection \\xbb\"})]});}const dragConstraints={left:-(maxIndex*step),right:0};const arrowContainerStyle=arrowPosition===\"sides\"?{position:\"absolute\",top:\"50%\",left:0,right:0,transform:\"translateY(-50%)\",display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",pointerEvents:\"none\",zIndex:2,padding:`0 ${arrowBottomOffset}px`}:{position:\"absolute\",bottom:-(arrowSize+arrowBottomOffset),left:\"50%\",transform:\"translateX(-50%)\",display:\"flex\",alignItems:\"center\",gap:arrowGap,zIndex:2};return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,tabIndex:0,style:{...wrapStyle,...style,outline:\"none\",overflow:overflowVisible?\"visible\":\"hidden\"},children:[/*#__PURE__*/_jsx(motion.div,{ref:hiddenRef,drag:dragEnabled&&canScroll?\"x\":false,dragConstraints:dragConstraints,dragElastic:.12,dragMomentum:false,onDragStart:()=>{isDragging.current=true;if(hiddenRef.current){hiddenRef.current.querySelectorAll(\"*\").forEach(el=>{el.style.pointerEvents=\"none\";});}},onDragEnd:(e,info)=>{if(hiddenRef.current){hiddenRef.current.style.pointerEvents=\"auto\";hiddenRef.current.querySelectorAll(\"*\").forEach(el=>{el.style.removeProperty(\"pointer-events\");});}onDragEnd(e,info);requestAnimationFrame(()=>{isDragging.current=false;});},animate:controls,style:{height:\"100%\",cursor:enablePopup&&!canScroll?\"pointer\":dragEnabled&&canScroll?\"grab\":\"default\",x,touchAction:\"pan-y\"},whileDrag:{cursor:\"grabbing\"},onClick:handleItemClick,children:collection}),showArrows&&canScroll&&/*#__PURE__*/_jsxs(\"div\",{style:arrowContainerStyle,children:[/*#__PURE__*/_jsx(\"div\",{style:{pointerEvents:\"auto\"},children:/*#__PURE__*/_jsx(Arrow,{side:\"left\",onClick:goPrev,disabled:!canGoPrev,size:arrowSize,color:arrowColor,bg:arrowBg,bgHover:arrowBgHover})}),showDots&&arrowPosition===\"bottom\"&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:6,alignItems:\"center\"},children:Array.from({length:maxIndex+1}).map((_,i)=>/*#__PURE__*/_jsx(motion.button,{onClick:()=>animateTo(i),\"aria-label\":`Page ${i+1}`,style:{...dotBase,width:i===currentIndex?dotSize*2.6:dotSize,height:dotSize,borderRadius:dotSize,background:i===currentIndex?dotActiveColor:dotColor},animate:{width:i===currentIndex?dotSize*2.6:dotSize},whileHover:{scale:1.3},transition:{duration:.2}},i))}),/*#__PURE__*/_jsx(\"div\",{style:{pointerEvents:\"auto\"},children:/*#__PURE__*/_jsx(Arrow,{side:\"right\",onClick:goNext,disabled:!canGoNext,size:arrowSize,color:arrowColor,bg:arrowBg,bgHover:arrowBgHover})})]}),popupVideoUrl&&/*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/_jsx(VideoPopup,{videoUrl:popupVideoUrl,borderRadius:popupBorderRadius,videoZoom:popupVideoZoom,onClose:()=>setPopupVideoUrl(null)}),getPortalRoot())]});}/* ================================================================\n   VIDEO POPUP — renders VideoPlayer in a fullscreen overlay\n   Fix mobile :\n   - Portal root attaché à <html>, hors de tout transform Framer\n   - pointerEvents: \"all\" pour override le \"none\" du portal root\n   - touchAction: \"none\" pour bloquer le scroll page derrière\n   - isolation: \"isolate\" pour stacking context propre\n   ================================================================ */function VideoPopup({videoUrl,borderRadius,videoZoom,onClose}){const[visible,setVisible]=useState(false);const[closing,setClosing]=useState(false);const FADE_MS=300;// Fade in\nuseEffect(()=>{requestAnimationFrame(()=>setVisible(true));},[]);// Block scroll\nuseEffect(()=>{const orig=document.body.style.overflow;document.body.style.overflow=\"hidden\";return()=>{document.body.style.overflow=orig;};},[]);// Escape to close\nuseEffect(()=>{const onKey=e=>{if(e.key===\"Escape\")handleClose();};window.addEventListener(\"keydown\",onKey);return()=>window.removeEventListener(\"keydown\",onKey);},[]);const handleClose=useCallback(()=>{if(closing)return;setClosing(true);setVisible(false);setTimeout(()=>onClose(),FADE_MS);},[closing,onClose]);return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"fixed\",inset:0,zIndex:2147483647,isolation:\"isolate\",pointerEvents:\"all\",background:visible?\"rgba(0,0,0,0.92)\":\"rgba(0,0,0,0)\",transition:`background ${FADE_MS}ms ease`,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"default\",touchAction:\"none\",WebkitTapHighlightColor:\"transparent\"},onClick:e=>{if(e.target===e.currentTarget)handleClose();},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:16,right:16,zIndex:10,opacity:visible?1:0,transition:`opacity ${FADE_MS}ms ease`},children:/*#__PURE__*/_jsx(CloseButton,{onClick:handleClose})}),/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",opacity:visible?1:0,transition:`opacity ${FADE_MS}ms ease`},children:/*#__PURE__*/_jsx(VideoPlayer,{videoUrl:videoUrl,borderRadius:0,videoZoom:videoZoom,enableSound:false,autoHideControls:true,autoHideDelay:3,showTimeCode:true,loadOnView:false,style:{width:\"100%\",height:\"100%\"}})})]});}/* ================================================================\n   SHARED UI COMPONENTS\n   ================================================================ */function Arrow({side,onClick,disabled,size,color,bg,bgHover}){const[hover,setHover]=useState(false);const isL=side===\"left\";return /*#__PURE__*/_jsx(motion.button,{onClick:disabled?undefined:onClick,onMouseEnter:()=>setHover(true),onMouseLeave:()=>setHover(false),\"aria-label\":isL?\"Pr\\xe9c\\xe9dent\":\"Suivant\",style:{width:size,height:size,border:\"none\",borderRadius:8,cursor:disabled?\"default\":\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:0,background:disabled?\"rgba(255,255,255,0.08)\":hover?bgHover:bg,backdropFilter:\"blur(10px)\",WebkitBackdropFilter:\"blur(10px)\",opacity:disabled?.35:1,transition:\"background .2s, opacity .2s\"},whileHover:disabled?{}:{scale:1.08},whileTap:disabled?{}:{scale:.92},children:/*#__PURE__*/_jsx(\"svg\",{width:size*.36,height:size*.36,viewBox:\"0 0 24 24\",fill:\"none\",stroke:disabled?\"rgba(255,255,255,0.3)\":color,strokeWidth:2.4,strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"polyline\",{points:isL?\"15 18 9 12 15 6\":\"9 6 15 12 9 18\"})})});}function CloseButton({onClick}){const[hovered,setHovered]=useState(false);const size=44;return /*#__PURE__*/_jsx(\"button\",{onClick:e=>{e.stopPropagation();onClick();},onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),\"aria-label\":\"Close\",style:{width:size,height:size,borderRadius:12,background:hovered?\"rgba(180,180,180,0.85)\":\"rgba(160,160,160,0.7)\",backdropFilter:\"blur(12px)\",WebkitBackdropFilter:\"blur(12px)\",border:\"none\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:0,transform:hovered?\"scale(1.05)\":\"scale(1)\",transition:\"background 0.2s ease, transform 0.2s ease\",WebkitTapHighlightColor:\"transparent\",touchAction:\"manipulation\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:18,height:18,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"#333\",strokeWidth:2.5,strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"line\",{x1:\"18\",y1:\"6\",x2:\"6\",y2:\"18\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"6\",y1:\"6\",x2:\"18\",y2:\"18\"})]})});}/* ================================================================\n   STYLES\n   ================================================================ */const wrapStyle={position:\"relative\",width:\"100%\",height:\"100%\"};const dotBase={border:\"none\",cursor:\"pointer\",padding:0,transition:\"background .2s, width .25s\"};/* ================================================================\n   PROPERTY CONTROLS\n   ================================================================ */addPropertyControls(CmsRailCarousel,{collection:{type:ControlType.ComponentInstance,title:\"CMS Collection\"},itemWidth:{type:ControlType.Number,title:\"Item Width\",defaultValue:320,min:80,max:800,step:10,unit:\"px\"},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:24,min:0,max:100,step:2,unit:\"px\"},alignment:{type:ControlType.Enum,title:\"Alignment\",options:[\"start\",\"center\",\"end\"],optionTitles:[\"Top\",\"Center\",\"Bottom\"],defaultValue:\"start\"},dragEnabled:{type:ControlType.Boolean,title:\"Drag\",defaultValue:true},snapAnimation:{type:ControlType.Enum,title:\"Animation\",options:[\"spring\",\"tween\"],optionTitles:[\"Spring\",\"Ease\"],defaultValue:\"spring\"},overflowVisible:{type:ControlType.Boolean,title:\"Overflow Visible\",defaultValue:true},activeScale:{type:ControlType.Number,title:\"Active Scale\",defaultValue:1,min:.8,max:1.1,step:.01},inactiveScale:{type:ControlType.Number,title:\"Inactive Scale\",defaultValue:1,min:.7,max:1,step:.01},inactiveOpacity:{type:ControlType.Number,title:\"Inactive Opacity\",defaultValue:1,min:0,max:1,step:.05},autoPlay:{type:ControlType.Boolean,title:\"Auto Play\",defaultValue:false},autoPlayInterval:{type:ControlType.Number,title:\"Interval\",defaultValue:4,min:1,max:20,step:.5,unit:\"s\",hidden:props=>!props.autoPlay},showArrows:{type:ControlType.Boolean,title:\"Arrows\",defaultValue:true},arrowPosition:{type:ControlType.Enum,title:\"Arrow Position\",options:[\"bottom\",\"sides\"],optionTitles:[\"Bottom Center\",\"Sides\"],defaultValue:\"bottom\",hidden:props=>!props.showArrows},arrowSize:{type:ControlType.Number,title:\"Arrow Size\",defaultValue:44,min:24,max:72,hidden:props=>!props.showArrows},arrowGap:{type:ControlType.Number,title:\"Arrow Gap\",defaultValue:12,min:0,max:60,step:2,unit:\"px\",hidden:props=>!props.showArrows},arrowBottomOffset:{type:ControlType.Number,title:\"Offset\",defaultValue:24,min:0,max:100,step:2,unit:\"px\",hidden:props=>!props.showArrows},arrowColor:{type:ControlType.Color,title:\"Arrow Color\",defaultValue:\"#ffffff\",hidden:props=>!props.showArrows},arrowBg:{type:ControlType.Color,title:\"Arrow Bg\",defaultValue:\"rgba(0,0,0,0.5)\",hidden:props=>!props.showArrows},arrowBgHover:{type:ControlType.Color,title:\"Arrow Hover\",defaultValue:\"rgba(0,0,0,0.8)\",hidden:props=>!props.showArrows},showDots:{type:ControlType.Boolean,title:\"Dots\",defaultValue:false},dotSize:{type:ControlType.Number,title:\"Dot Size\",defaultValue:8,min:4,max:16,hidden:props=>!props.showDots},dotColor:{type:ControlType.Color,title:\"Dot Color\",defaultValue:\"rgba(255,255,255,0.3)\",hidden:props=>!props.showDots},dotActiveColor:{type:ControlType.Color,title:\"Dot Active\",defaultValue:\"#ffffff\",hidden:props=>!props.showDots},// ── Video Popup ──\nenablePopup:{type:ControlType.Boolean,title:\"Video Popup\",defaultValue:false},popupBorderRadius:{type:ControlType.Number,title:\"🎬 Player Radius\",defaultValue:16,min:0,max:40,step:2,unit:\"px\",hidden:props=>!props.enablePopup},popupVideoZoom:{type:ControlType.Number,title:\"🎬 Video Zoom\",defaultValue:100,min:100,max:300,step:5,unit:\"%\",hidden:props=>!props.enablePopup,description:\"More components at [Memselon ☁️](http://memselon.com)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CmsRailCarousel\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Trading_Carousel_Fleet.map"],"mappings":"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"}