{"version":3,"file":"Trading_Carousel_Fleet.B6U_2Zvx.mjs","names":["useRef","useState","useCallback","useMemo"],"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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"}