{"version":3,"file":"RecentBlogPostsMobileControls.BS7oo0id.mjs","names":["React.useRef","React.useState","React.useCallback","React.useMemo"],"sources":["https:/framerusercontent.com/modules/6695wM6K2NruQ1qw6stG/VvnWMSLYCHRtZdjeDjyP/RecentBlogPostsMobileControls.js"],"sourcesContent":["// User request: Create a narrowly scoped Framer code component for the mobile Recent Blog Posts carousel controls. It must render two circular arrow buttons and, on mount, locate the existing native CMS Collection List carousel in the same section via a stable data attribute or wrapper class, enable horizontal scrolling with scroll-snap-type x mandatory, hide scrollbar, make repeated cards flex: 0 0 100%, and scroll exactly one card per click with smooth behavior. Track scroll position to disable previous/next at bounds. Keep it mobile-only via a visible breakpoint prop or CSS media query. Do not replace or render CMS cards; preserve the native Collection List and its bindings. Also provide the exact integration steps and any runtime limitations.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";const SCROLLBAR_STYLE_ID=\"recent-blog-posts-mobile-controls-scrollbar-style\";const ENHANCED_CLASS=\"rbp-mobile-carousel-enhanced\";const CMS_ITEM_SELECTOR=\".framer-collection-item, [data-framer-cms-item]\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function RecentBlogPostsMobileControls(props){const{sectionSelector,viewportSelector,cardSelector,mobileMaxWidth,controlsAlign,buttonSize,buttonGap,buttonBackground,buttonColor,buttonBorderColor,buttonShadow,iconFont={fontSize:\"18px\",lineHeight:\"1em\",letterSpacing:\"0em\",fontWeight:600,fontStyle:\"normal\",textAlign:\"center\"}}=props;const rootRef=React.useRef(null);const viewportRef=React.useRef(null);const cardsRef=React.useRef([]);const restoreRef=React.useRef(null);const[isMobile,setIsMobile]=React.useState(false);const[hasPrevious,setHasPrevious]=React.useState(false);const[hasNext,setHasNext]=React.useState(false);const getSafeSection=React.useCallback(root=>{let sectionBySelector=null;try{sectionBySelector=root.closest(sectionSelector);}catch{sectionBySelector=null;}if(sectionBySelector)return sectionBySelector;const semanticSection=root.closest(\"section\");if(semanticSection)return semanticSection;return root.parentElement;},[sectionSelector]);const getCardsFromViewport=React.useCallback(viewport=>{let selectorCards=[];try{selectorCards=Array.from(viewport.querySelectorAll(cardSelector));}catch{selectorCards=[];}if(selectorCards.length>=2)return selectorCards;const directChildren=Array.from(viewport.children).filter(node=>node instanceof HTMLElement);return directChildren;},[cardSelector]);const discoverViewportFallback=React.useCallback((section,root)=>{const all=Array.from(section.querySelectorAll(\"*\")).filter(node=>node instanceof HTMLElement);let bestResult=null;let bestScore=-1;for(const candidate of all){if(candidate===root||root.contains(candidate))continue;const directChildren=Array.from(candidate.children).filter(node=>node instanceof HTMLElement);if(directChildren.length<2)continue;const cards=getCardsFromViewport(candidate);if(cards.length<2)continue;const computed=window.getComputedStyle(candidate);const horizontalOverflowEnabled=computed.overflowX===\"auto\"||computed.overflowX===\"scroll\";const horizontalScrollable=candidate.scrollWidth>candidate.clientWidth+1;const rowLikeLayout=computed.display.includes(\"flex\")&&computed.flexDirection!==\"column\";const hasPreferredCmsDescendant=candidate.querySelector(CMS_ITEM_SELECTOR)!==null;const widths=directChildren.map(child=>child.getBoundingClientRect().width).filter(width=>width>0);let hasSimilarWidths=false;if(widths.length>=2){const reference=widths[0];const tolerance=Math.max(8,reference*.25);const similarCount=widths.filter(width=>Math.abs(width-reference)<=tolerance).length;hasSimilarWidths=similarCount>=2;}if(!hasPreferredCmsDescendant&&!horizontalScrollable&&!horizontalOverflowEnabled&&!hasSimilarWidths&&!rowLikeLayout){continue;}let score=0;if(hasPreferredCmsDescendant)score+=100;if(horizontalScrollable)score+=60;if(horizontalOverflowEnabled)score+=30;if(rowLikeLayout)score+=20;if(hasSimilarWidths)score+=25;score+=Math.min(cards.length,6);if(score>bestScore){bestScore=score;bestResult={viewport:candidate,cards};}}return bestResult;},[getCardsFromViewport]);const updateMobileState=React.useCallback(()=>{if(typeof window===\"undefined\")return;const nextIsMobile=window.innerWidth<=mobileMaxWidth;React.startTransition(()=>setIsMobile(nextIsMobile));},[mobileMaxWidth]);React.useEffect(()=>{if(typeof window===\"undefined\")return;updateMobileState();window.addEventListener(\"resize\",updateMobileState);return()=>window.removeEventListener(\"resize\",updateMobileState);},[updateMobileState]);const updateBounds=React.useCallback(()=>{const viewport=viewportRef.current;if(!viewport){React.startTransition(()=>{setHasPrevious(false);setHasNext(false);});return;}const epsilon=2;const maxLeft=Math.max(0,viewport.scrollWidth-viewport.clientWidth);const canGoPrevious=viewport.scrollLeft>epsilon;const canGoNext=viewport.scrollLeft<maxLeft-epsilon;React.startTransition(()=>{setHasPrevious(canGoPrevious);setHasNext(canGoNext);});},[]);React.useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;if(!isMobile){restoreRef.current?.();restoreRef.current=null;viewportRef.current=null;cardsRef.current=[];React.startTransition(()=>{setHasPrevious(false);setHasNext(false);});return;}const root=rootRef.current;if(!root)return;const section=getSafeSection(root);if(!section)return;let explicitViewport=null;let viewport=null;try{explicitViewport=section.querySelector(viewportSelector);}catch{explicitViewport=null;}if(explicitViewport){const explicitCards=getCardsFromViewport(explicitViewport);if(explicitCards.length>=2){viewport=explicitViewport;}}let cards=[];if(viewport){cards=getCardsFromViewport(viewport);}else{const fallback=discoverViewportFallback(section,root);if(fallback){viewport=fallback.viewport;cards=fallback.cards;}}if(!viewport||cards.length<2)return;if(!document.getElementById(SCROLLBAR_STYLE_ID)){const styleEl=document.createElement(\"style\");styleEl.id=SCROLLBAR_STYLE_ID;styleEl.textContent=`.${ENHANCED_CLASS}::-webkit-scrollbar{display:none;width:0;height:0;}`;document.head.appendChild(styleEl);}const previousViewportStyles={overflowX:viewport.style.overflowX,overflowY:viewport.style.overflowY,scrollSnapType:viewport.style.scrollSnapType,scrollBehavior:viewport.style.scrollBehavior,WebkitOverflowScrolling:viewport.style.WebkitOverflowScrolling,scrollbarWidth:viewport.style.scrollbarWidth,msOverflowStyle:viewport.style.msOverflowStyle};const previousCardStyles=cards.map(card=>({node:card,flex:card.style.flex,scrollSnapAlign:card.style.scrollSnapAlign,minWidth:card.style.minWidth,maxWidth:card.style.maxWidth}));viewportRef.current=viewport;cardsRef.current=cards;viewport.classList.add(ENHANCED_CLASS);viewport.style.overflowX=\"auto\";viewport.style.overflowY=\"hidden\";viewport.style.scrollSnapType=\"x mandatory\";viewport.style.scrollBehavior=\"smooth\";viewport.style.WebkitOverflowScrolling=\"touch\";viewport.style.scrollbarWidth=\"none\";viewport.style.msOverflowStyle=\"none\";cards.forEach(card=>{card.style.flex=\"0 0 100%\";card.style.scrollSnapAlign=\"start\";card.style.minWidth=\"100%\";card.style.maxWidth=\"100%\";});const onScroll=()=>updateBounds();viewport.addEventListener(\"scroll\",onScroll,{passive:true});updateBounds();restoreRef.current=()=>{viewport.removeEventListener(\"scroll\",onScroll);viewport.classList.remove(ENHANCED_CLASS);viewport.style.overflowX=previousViewportStyles.overflowX;viewport.style.overflowY=previousViewportStyles.overflowY;viewport.style.scrollSnapType=previousViewportStyles.scrollSnapType;viewport.style.scrollBehavior=previousViewportStyles.scrollBehavior;viewport.style.WebkitOverflowScrolling=previousViewportStyles.WebkitOverflowScrolling;viewport.style.scrollbarWidth=previousViewportStyles.scrollbarWidth;viewport.style.msOverflowStyle=previousViewportStyles.msOverflowStyle;previousCardStyles.forEach(entry=>{entry.node.style.flex=entry.flex;entry.node.style.scrollSnapAlign=entry.scrollSnapAlign;entry.node.style.minWidth=entry.minWidth;entry.node.style.maxWidth=entry.maxWidth;});};return()=>{restoreRef.current?.();restoreRef.current=null;};},[discoverViewportFallback,getCardsFromViewport,getSafeSection,isMobile,updateBounds,viewportSelector]);const scrollByOneCard=React.useCallback(direction=>{const viewport=viewportRef.current;const cards=cardsRef.current;if(!viewport||cards.length===0)return;const currentLeft=viewport.scrollLeft;let targetLeft=currentLeft;if(direction===1){const nextCard=cards.find(card=>card.offsetLeft>currentLeft+2);if(nextCard)targetLeft=nextCard.offsetLeft;}else{const prevCard=[...cards].reverse().find(card=>card.offsetLeft<currentLeft-2);if(prevCard)targetLeft=prevCard.offsetLeft;}viewport.scrollTo({left:targetLeft,behavior:\"smooth\"});},[]);const controlsStyle=React.useMemo(()=>{const normalizedAlign=String(controlsAlign||\"center\").trim().toLowerCase();const isRightAligned=normalizedAlign===\"right\";const isLeftAligned=normalizedAlign===\"left\";return{position:\"relative\",display:isMobile?\"flex\":\"none\",alignItems:\"center\",justifyContent:\"center\",gap:buttonGap,width:\"max-content\",minWidth:\"max-content\",marginLeft:isRightAligned?\"auto\":isLeftAligned?\"0\":\"auto\",marginRight:isLeftAligned?\"auto\":isRightAligned?\"0\":\"auto\"};},[buttonGap,controlsAlign,isMobile]);const buttonStyle=React.useMemo(()=>({width:buttonSize,height:buttonSize,borderRadius:\"999px\",border:`1px solid ${buttonBorderColor}`,background:buttonBackground,color:buttonColor,boxShadow:buttonShadow,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\",padding:0}),[buttonBackground,buttonBorderColor,buttonColor,buttonShadow,buttonSize]);return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:controlsStyle,children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Previous blog post\",\"aria-disabled\":!hasPrevious,disabled:!hasPrevious,onClick:()=>scrollByOneCard(-1),style:{...buttonStyle,opacity:hasPrevious?1:.45,cursor:hasPrevious?\"pointer\":\"not-allowed\"},children:/*#__PURE__*/_jsx(\"span\",{style:{fontSize:iconFont.fontSize,lineHeight:iconFont.lineHeight,letterSpacing:iconFont.letterSpacing,fontWeight:iconFont.fontWeight,fontStyle:iconFont.fontStyle,fontFamily:iconFont.fontFamily,textAlign:iconFont.textAlign},children:\"←\"})}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Next blog post\",\"aria-disabled\":!hasNext,disabled:!hasNext,onClick:()=>scrollByOneCard(1),style:{...buttonStyle,opacity:hasNext?1:.45,cursor:hasNext?\"pointer\":\"not-allowed\"},children:/*#__PURE__*/_jsx(\"span\",{style:{fontSize:iconFont.fontSize,lineHeight:iconFont.lineHeight,letterSpacing:iconFont.letterSpacing,fontWeight:iconFont.fontWeight,fontStyle:iconFont.fontStyle,fontFamily:iconFont.fontFamily,textAlign:iconFont.textAlign},children:\"→\"})})]});}addPropertyControls(RecentBlogPostsMobileControls,{sectionSelector:{type:ControlType.String,title:\"Section Selector\",defaultValue:\"[data-recent-blog-posts-section], .recent-blog-posts-section\"},viewportSelector:{type:ControlType.String,title:\"Viewport Selector\",defaultValue:\"[data-recent-blog-posts-carousel], .recent-blog-posts-carousel\"},cardSelector:{type:ControlType.String,title:\"Card Selector\",defaultValue:\"[data-recent-blog-post-card], .recent-blog-post-card, .framer-collection-item\"},mobileMaxWidth:{type:ControlType.Number,title:\"Max Width\",defaultValue:991,min:320,max:1400,step:1,unit:\"px\"},controlsAlign:{type:ControlType.String,title:\"Align\",defaultValue:\"center\",placeholder:\"left | center | right\"},buttonSize:{type:ControlType.Number,title:\"Button Size\",defaultValue:44,min:24,max:80,step:1},buttonGap:{type:ControlType.Number,title:\"Gap\",defaultValue:12,min:0,max:48,step:1},buttonBackground:{type:ControlType.Color,title:\"Button Bg\",defaultValue:\"#FFFFFF\"},buttonColor:{type:ControlType.Color,title:\"Arrow\",defaultValue:\"#000000\"},buttonBorderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#EEEEEE\"},buttonShadow:{type:ControlType.BoxShadow,title:\"Shadow\",defaultValue:\"0px 6px 18px rgba(0,0,0,0.12)\"},iconFont:{type:ControlType.Font,title:\"Icon Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"18px\",lineHeight:\"1em\",letterSpacing:\"0em\",variant:\"Semibold\",textAlign:\"center\"}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RecentBlogPostsMobileControls\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RecentBlogPostsMobileControls.map"],"mappings":"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"}