{"version":3,"file":"FeaturedItemsCarouselControls.DASi0b6s.mjs","names":["Secondary","React.useContext","React.useMemo","React.Fragment","React.useState","React.forwardRef","useRef","React.useId","Image1","RichText","useMemo","useRef","useState","useCallback"],"sources":["https:/framerusercontent.com/modules/lxqt6WteZyFBbR4kZqG0/ftMFIMdZ6GzLNX0YegNG/kvz9OmYEv.js","https:/framerusercontent.com/modules/ivHsDah8EQ6VaMoMEz2l/HGl9jRmtd44fmyzA8pBl/FeaturedItemsCarouselControls.js"],"sourcesContent":["// Generated by Framer (7788242)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getLoadingLazyAtYPosition,Image as Image1,RichText,runTasksWithYield,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Secondary from\"https://framerusercontent.com/modules/Y89dMoxJ77I8YZ4XbyWe/ZTdwDIpENTSE4GjP9CcB/IpigjoEyQ.js\";const SecondaryFonts=getFonts(Secondary);const serializationHash=\"framer-a6jWN\";const variantClassNames={AjgfnN_M0:\"framer-v-1xkdrmt\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const m7z61X4dw=undefined;const EU7tFLLvj=undefined;const Y2KS83P2p=undefined;const GWFSEpOyj=undefined;const SXTYZ5TWT=undefined;const QuqCQ9PTE=undefined;const setSXTYZ5TWT=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const useStateVariable=(externalState,setExternalState)=>{const[internalState,setInternalState]=React.useState(externalState);const[previousExternalState,setPreviousExternalState]=React.useState(externalState);if(setExternalState){return[externalState,setExternalState];}if(externalState!==previousExternalState){setInternalState(externalState);setPreviousExternalState(externalState);}return[internalState,setInternalState];};const getProps=({cTA,description,featuredItemImage,featuredItemName,height,id,link,shadow,width,...props})=>{return{...props,EU7tFLLvj:featuredItemImage??props.EU7tFLLvj,GWFSEpOyj:description??props.GWFSEpOyj??\"Featured item details\",m7z61X4dw:shadow??props.m7z61X4dw??\"0px 8px 22px 0px rgba(22, 26, 29, 0.08)\",QuqCQ9PTE:link??props.QuqCQ9PTE,SXTYZ5TWT:cTA??props.SXTYZ5TWT??\"Bid Now\",Y2KS83P2p:featuredItemName??props.Y2KS83P2p??\"Featured Item\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,EU7tFLLvj,\"SXTYZ5TWT\":externalSXTYZ5TWT,\"onSXTYZ5TWTChange\":setExternalSXTYZ5TWT,Y2KS83P2p,QuqCQ9PTE,GWFSEpOyj,m7z61X4dw,...restProps}=getProps(props);const[SXTYZ5TWT,setSXTYZ5TWT]=useStateVariable(externalSXTYZ5TWT,setExternalSXTYZ5TWT);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"AjgfnN_M0\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1xkdrmt\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"AjgfnN_M0\",ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-f0d9e6c1-0495-4c9b-b518-32ea6f500a4c, rgb(243, 244, 242))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",\"--mfn7qf\":m7z61X4dw,backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:12,borderBottomRightRadius:12,borderTopLeftRadius:12,borderTopRightRadius:12,boxShadow:\"var(--mfn7qf)\",...style},children:[/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0),sizes:componentViewport?.width||\"100vw\",...toResponsiveImage(EU7tFLLvj)},className:\"framer-oe84hu\",\"data-framer-name\":\"Featured Item 1\",id:`${layoutId}-oe84hu`,layoutDependency:layoutDependency,layoutId:\"bRECREfql\",lightbox:{backdrop:\"rgba(18, 18, 18, 0.9)\",maxWidth:1200,padding:40,transition:transition1,zIndex:10},lightboxClassName:scopingClassNames}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-asnibx\",\"data-framer-name\":\"Details\",layoutDependency:layoutDependency,layoutId:\"h5HCo72Ga\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1q1zfkk\",layoutDependency:layoutDependency,layoutId:\"c5igPZvVO\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{dir:\"auto\",style:{\"--font-selector\":\"RlM7UG9wcGlucy1tZWRpdW0=\",\"--framer-font-family\":'\"Poppins\", \"Poppins Placeholder\", sans-serif',\"--framer-font-open-type-features\":\"'blwf' on, 'cv09' on, 'cv03' on, 'cv04' on, 'cv11' on\",\"--framer-font-size\":\"calc(var(--framer-root-font-size, 1rem) * 1.125)\",\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"1.25em\",\"--framer-text-color\":\"var(--extracted-a0htzi, var(--token-ec4619d1-c91c-4794-b1d3-8dc122fcf4aa, rgb(35, 34, 53)))\"},children:\"Featured Item\"})}),className:\"framer-2bfyev\",\"data-framer-name\":\"Featured Item Headline\",fonts:[\"FS;Poppins-medium\"],layoutDependency:layoutDependency,layoutId:\"UURHRGYzP\",style:{\"--extracted-a0htzi\":\"var(--token-ec4619d1-c91c-4794-b1d3-8dc122fcf4aa, rgb(35, 34, 53))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:Y2KS83P2p,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"RlM7UG9wcGlucy1yZWd1bGFy\",\"--framer-font-family\":'\"Poppins\", \"Poppins Placeholder\", sans-serif',\"--framer-font-open-type-features\":\"'blwf' on, 'cv03' on, 'cv04' on, 'cv09' on, 'cv11' on\",\"--framer-font-size\":\"calc(var(--framer-root-font-size, 1rem) * 0.9375)\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"1.45em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-896c8636-b10b-4f50-b644-9524107ee4d6, rgb(89, 100, 95)))\"},children:\"Featured item details\"})}),className:\"framer-zfwl71\",\"data-framer-name\":\"Description\",fonts:[\"FS;Poppins-regular\"],layoutDependency:layoutDependency,layoutId:\"PKkDF2e9N\",style:{\"--extracted-r6o4lv\":\"var(--token-896c8636-b10b-4f50-b644-9524107ee4d6, rgb(89, 100, 95))\"},text:GWFSEpOyj,verticalAlignment:\"top\",withExternalLayout:true})]})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1j1cc3a\",\"data-framer-name\":\"CTA\",layoutDependency:layoutDependency,layoutId:\"TMGhGCg5R\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:40,width:`calc(${componentViewport?.width||\"100vw\"} - 36px)`,y:(componentViewport?.y||0)+0+325.5+18+0,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1d1ek46-container\",layoutDependency:layoutDependency,layoutId:\"Gap0j0kKj-container\",nodeId:\"Gap0j0kKj\",rendersWithMotion:true,scopeId:\"kvz9OmYEv\",children:/*#__PURE__*/_jsx(Secondary,{aDfamsQgp:true,height:\"100%\",HlWgfXXFW:{borderColor:\"rgba(4, 175, 104, 0.55)\",borderStyle:\"solid\",borderWidth:1},id:\"Gap0j0kKj\",ktSLXF9Qx:QuqCQ9PTE,layoutId:\"Gap0j0kKj\",lCVvis7Ye:\"var(--token-33f46d59-a14d-4de4-aa92-ffb46b231536)\",onrhGd9LHUbChange:setSXTYZ5TWT,rhGd9LHUb:SXTYZ5TWT,style:{width:\"100%\"},variant:matchVariant(\"tJ5XtW_CN\"),width:\"100%\"})})})})]})})})});});const css=[\".framer-a6jWN.framer-s3kzpp, .framer-a6jWN .framer-s3kzpp { display: block; }\",\".framer-a6jWN.framer-1xkdrmt { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 300px; will-change: var(--framer-will-change-override, transform); }\",\".framer-a6jWN .framer-oe84hu { aspect-ratio: 1.554404145 / 1; cursor: zoom-in; flex: none; gap: 0px; height: auto; max-height: 193px; min-height: 193px; position: relative; width: 100%; }\",\".framer-a6jWN .framer-asnibx { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: flex-start; min-height: 50px; overflow: var(--overflow-clip-fallback, clip); padding: 18px; position: relative; width: 100%; }\",\".framer-a6jWN .framer-1q1zfkk { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; }\",'.framer-a6jWN .framer-2bfyev { --text-truncation-display-inline-for-safari-16: inline; --text-truncation-display-none-for-safari-16: none; --text-truncation-line-break-for-safari-16: \"\\\\A\"; -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; flex: none; height: 45px; min-height: 45px; min-width: 0px; overflow: var(--overflow-clip-fallback, clip); position: relative; white-space: pre-line; width: 100%; word-break: break-word; word-wrap: break-word; }','.framer-a6jWN .framer-zfwl71 { --framer-text-wrap: pretty; --text-truncation-display-inline-for-safari-16: inline; --text-truncation-display-none-for-safari-16: none; --text-truncation-line-break-for-safari-16: \"\\\\A\"; -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; flex: none; height: 44px; min-height: 43.5px; overflow: var(--overflow-clip-fallback, clip); position: relative; white-space: pre-line; width: 100%; word-break: break-word; word-wrap: break-word; }',\".framer-a6jWN .framer-1j1cc3a { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 18px; position: relative; width: 100%; }\",\".framer-a6jWN .framer-1d1ek46-container { flex: none; height: auto; position: relative; width: 100%; }\",'.framer-a6jWN[data-border=\"true\"]::after, .framer-a6jWN [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 357\n * @framerIntrinsicWidth 257\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"EU7tFLLvj\":\"featuredItemImage\",\"SXTYZ5TWT\":\"cTA\",\"Y2KS83P2p\":\"featuredItemName\",\"QuqCQ9PTE\":\"link\",\"GWFSEpOyj\":\"description\",\"m7z61X4dw\":\"shadow\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerkvz9OmYEv=withCSS(Component,css,\"framer-a6jWN\");export default Framerkvz9OmYEv;Framerkvz9OmYEv.displayName=\"Featured Item\";Framerkvz9OmYEv.defaultProps={height:357,width:257};addPropertyControls(Framerkvz9OmYEv,{EU7tFLLvj:{title:\"Featured Item Image\",type:ControlType.ResponsiveImage},SXTYZ5TWT:{defaultValue:\"Bid Now\",placeholder:\"Bid Now\",title:\"CTA\",type:ControlType.String},onSXTYZ5TWTChange:{changes:\"SXTYZ5TWT\",type:ControlType.ChangeHandler},Y2KS83P2p:{defaultValue:\"Featured Item\",placeholder:\"\",title:\"Featured Item Name\",type:ControlType.String},onY2KS83P2pChange:{changes:\"Y2KS83P2p\",type:ControlType.ChangeHandler},QuqCQ9PTE:{title:\"Link\",type:ControlType.Link},GWFSEpOyj:{defaultValue:\"Featured item details\",displayTextArea:true,title:\"Description\",type:ControlType.String},onGWFSEpOyjChange:{changes:\"GWFSEpOyj\",type:ControlType.ChangeHandler},m7z61X4dw:{defaultValue:[{blur:22,color:\"rgba(22, 26, 29, 0.08)\",diffusion:.5,focus:.5,inset:false,spread:0,type:\"box\",x:0,y:8}],title:\"Shadow\",type:ControlType.BoxShadow}});addFonts(Framerkvz9OmYEv,[{explicitInter:true,fonts:[{cssFamilyName:\"Poppins\",openType:true,source:\"fontshare\",style:\"normal\",uiFamilyName:\"Poppins\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/K4RHKGAGLQZBXEZQT2O2AGSLKJF2E4YC/JRUTXNFPWLFGIEVSSEYOW7EP7TYM3V6A/UCDYLFFGLZRGCFY5GYDYM5LDB52BAR5M.woff2\",weight:\"500\"},{cssFamilyName:\"Poppins\",openType:true,source:\"fontshare\",style:\"normal\",uiFamilyName:\"Poppins\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/NC2MP33RO4WQTSTEEAWBJLAEXNCNEQVF/7F4U3COKLHQH4WUH3AXPC7N4UELEWJQN/JMWNCAGBH3TLANIVQPVABVAVNV5QERTH.woff2\",weight:\"400\"}]},...SecondaryFonts],{supportsExplicitInterCodegen:true});Framerkvz9OmYEv.loader={load:(props,context)=>{return runTasksWithYield([()=>forwardLoader(Secondary,{},context)],context);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerkvz9OmYEv\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"257\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicHeight\":\"357\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"EU7tFLLvj\\\":\\\"featuredItemImage\\\",\\\"SXTYZ5TWT\\\":\\\"cTA\\\",\\\"Y2KS83P2p\\\":\\\"featuredItemName\\\",\\\"QuqCQ9PTE\\\":\\\"link\\\",\\\"GWFSEpOyj\\\":\\\"description\\\",\\\"m7z61X4dw\\\":\\\"shadow\\\"}\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./kvz9OmYEv.map","// User request: Create a new Framer code component by duplicating CarouselControls, keep the original untouched, name the new component FeaturedItemsCarouselControls, preserve visual appearance and property controls (scrollTarget, cardsPerClick, arrowColor, disabledOpacity, arrowSize), and make previous/next reliably scroll the targeted canvas element including horizontal overflow containers and repeated CMS/array content while preserving accessibility labels and disabled-state behavior.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{startTransition,useCallback,useEffect,useMemo,useRef,useState}from\"react\";// Subpixel tolerance. iOS reports fractional rects at 3x DPR, so exact\n// geometric comparisons between neighbouring cards are unreliable.\nconst EPSILON=2;const isRendered=node=>node.getClientRects().length>0;/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function FeaturedItemsCarouselControls(props){const{scrollTarget=\"featured-items-track\",cardsPerClick:cardsPerClickRaw=1,arrowColor=\"#111111\",disabledOpacity=.3,arrowSize=28}=props;const targetId=useMemo(()=>scrollTarget,[scrollTarget]);const cardsPerClick=useMemo(()=>Number.isFinite(cardsPerClickRaw)?Math.max(1,Math.round(cardsPerClickRaw)):1,[cardsPerClickRaw]);const navRef=useRef(null);const frameRef=useRef(null);// Start with \"at the beginning\" rather than both-disabled, so a failure to\n// measure never leaves the user with two permanently dead arrows.\nconst[state,setState]=useState({left:true,right:false});const[attempt,setAttempt]=useState(0);// CMS Collection List items can prefix a layer's rendered DOM id with the\n// current item's slug. Accept that rendered id while keeping the canvas id\n// (for example, \"featured-items-track\") stable across CMS records.\nconst findTarget=useCallback(()=>{if(typeof document===\"undefined\")return null;const matchesTarget=node=>node.id===targetId||targetId.length>0&&node.id.endsWith(\"-\"+targetId);let scope=navRef.current;while(scope){const local=Array.from(scope.querySelectorAll(\"[id]\")).filter(node=>matchesTarget(node)&&isRendered(node));if(local.length)return local[0];scope=scope.parentElement;}const all=Array.from(document.querySelectorAll(\"[id]\")).filter(matchesTarget);return all.find(isRendered)??all[0]??null;},[targetId]);const scrollability=useCallback(node=>{const overflow=getComputedStyle(node).overflowX;if(/^(auto|scroll|overlay)$/.test(overflow))return\"scroll\";// An overflow:hidden/clip element is still programmatically\n// scrollable, and Framer often clips rather than scrolls on phone.\nif(/^(hidden|clip)$/.test(overflow)&&node.scrollWidth-node.clientWidth>EPSILON)return\"clipped\";return\"none\";},[]);const resolveTargetAndScroller=useCallback(()=>{const target=findTarget();if(!target)return{target:null,scroller:null};const candidates=[target];let parent=target.parentElement;while(parent){candidates.push(parent);parent=parent.parentElement;}candidates.push(...Array.from(target.querySelectorAll(\"*\")));const marks=candidates.map(node=>scrollability(node));const real=candidates.find((_,index)=>marks[index]===\"scroll\");if(real)return{target,scroller:real};const clipped=candidates.find((_,index)=>marks[index]===\"clipped\");if(clipped)return{target,scroller:clipped};return{target,scroller:target};},[findTarget,scrollability]);const getCards=useCallback((target,scroller)=>{// Unwrap CMS/array containers, stopping at the outermost horizontal\n// row of real siblings. This works for repeated frames and components\n// without depending on their names, widths, or internal card design.\nconst queue=[scroller.contains(target)?target:scroller];while(queue.length){const node=queue.shift();const children=Array.from(node.children).filter(child=>{if(!(child instanceof HTMLElement))return false;const rect=child.getBoundingClientRect();const style=getComputedStyle(child);return rect.width>0&&rect.height>0&&style.position!==\"absolute\"&&style.position!==\"fixed\";});const ordered=[...children].sort((a,b)=>a.getBoundingClientRect().left-b.getBoundingClientRect().left);// Tolerate subpixel overlap and require only that each card\n// starts to the right of the previous one on a shared line.\n// The old exact test failed on fractional iOS rects.\nconst isRow=ordered.length>1&&ordered.every((child,index)=>{if(index===0)return true;const previous=ordered[index-1].getBoundingClientRect();const rect=child.getBoundingClientRect();return rect.left>previous.left+EPSILON&&rect.left>=previous.right-rect.width/2&&Math.min(rect.bottom,previous.bottom)>Math.max(rect.top,previous.top);});if(isRow)return ordered;queue.push(...children);}return[];},[]);const positions=useCallback((scroller,cards)=>{const rect=scroller.getBoundingClientRect();const scale=scroller.offsetWidth?rect.width/scroller.offsetWidth:1;const max=Math.max(0,scroller.scrollWidth-scroller.clientWidth);// Fallback: if no card row could be identified, page by the visible\n// width so the arrows always do something rather than silently\n// no-op. This is the mobile safety net.\nif(!cards.length){const step=Math.max(1,scroller.clientWidth);const stops=[];for(let left=0;left<max;left+=step)stops.push(left);stops.push(max);return stops.filter((left,index,all)=>index===0||left-all[index-1]>EPSILON);}const offsets=cards.map(card=>scroller.scrollLeft+(card.getBoundingClientRect().left-rect.left)/(scale||1)-scroller.clientLeft);// The native end limit is a single terminal stop: several final cards\n// may share it when the viewport displays more than one card.\nreturn[0,...offsets.map(left=>Math.max(0,Math.min(max,left))),max].sort((a,b)=>a-b).filter((left,index,all)=>index===0||left-all[index-1]>EPSILON);},[]);const update=useCallback(()=>{const{scroller}=resolveTargetAndScroller();if(!scroller)return;// A zero-width scroller means an unrendered breakpoint copy or a layout\n// that hasn't settled; measuring it would disable both arrows.\nif(!scroller.clientWidth)return;const max=Math.max(0,scroller.scrollWidth-scroller.clientWidth);const nextState={left:scroller.scrollLeft<=EPSILON,right:max<=EPSILON||scroller.scrollLeft>=max-EPSILON};startTransition(()=>setState(nextState));},[resolveTargetAndScroller]);const scheduleUpdate=useCallback(()=>{if(typeof window===\"undefined\")return;if(frameRef.current!=null)return;frameRef.current=window.requestAnimationFrame(()=>{frameRef.current=null;update();});},[update]);useEffect(()=>{if(typeof window===\"undefined\")return;const{target,scroller}=resolveTargetAndScroller();// CMS content and images settle later on a phone than on desktop. Retry\n// instead of giving up permanently on the first miss.\nif(!target||!scroller||!scroller.clientWidth){if(attempt>=40)return;const timer=window.setTimeout(()=>setAttempt(value=>value+1),250);return()=>window.clearTimeout(timer);}update();scroller.addEventListener(\"scroll\",scheduleUpdate,{passive:true});window.addEventListener(\"resize\",scheduleUpdate);window.addEventListener(\"orientationchange\",scheduleUpdate);let resizeObserver=null;let mutationObserver=null;// Observe the scroller, the track, and its direct children only.\n// Observing every descendant on a CMS list is expensive on a phone.\nconst observeAll=()=>{if(!resizeObserver)return;resizeObserver.disconnect();resizeObserver.observe(scroller);resizeObserver.observe(target);Array.from(target.children).forEach(node=>resizeObserver.observe(node));};if(typeof ResizeObserver!==\"undefined\"){resizeObserver=new ResizeObserver(()=>scheduleUpdate());observeAll();}if(typeof MutationObserver!==\"undefined\"){// childList only: watching attributes across the subtree fires on\n// every style change during a scroll animation.\nmutationObserver=new MutationObserver(()=>{observeAll();scheduleUpdate();});mutationObserver.observe(target,{childList:true,subtree:true});}return()=>{scroller.removeEventListener(\"scroll\",scheduleUpdate);window.removeEventListener(\"resize\",scheduleUpdate);window.removeEventListener(\"orientationchange\",scheduleUpdate);if(resizeObserver)resizeObserver.disconnect();if(mutationObserver)mutationObserver.disconnect();if(frameRef.current!=null){window.cancelAnimationFrame(frameRef.current);frameRef.current=null;}};},[attempt,resolveTargetAndScroller,scheduleUpdate,update]);const scrollTo=useCallback((scroller,left)=>{const smooth=typeof document!==\"undefined\"&&\"scrollBehavior\"in document.documentElement.style;if(smooth&&typeof scroller.scrollTo===\"function\"){scroller.scrollTo({left,behavior:\"smooth\"});// iOS can drop a smooth scroll that lands inside a mandatory\n// scroll-snap container. If nothing moved, apply it directly.\nconst before=scroller.scrollLeft;window.setTimeout(()=>{if(Math.abs(scroller.scrollLeft-before)<1){scroller.scrollLeft=left;}},350);return;}scroller.scrollLeft=left;},[]);const move=useCallback(direction=>{const{target,scroller}=resolveTargetAndScroller();if(!target||!scroller)return;// Count boundaries from the current left edge, never from the\n// last visible card. Measurements stay valid after native scrolling.\nconst snaps=positions(scroller,getCards(target,scroller));const current=scroller.scrollLeft;const available=direction>0?snaps.filter(left=>left>current+EPSILON):snaps.filter(left=>left<current-EPSILON).reverse();if(!available.length){// Never exit without moving: fall back to a viewport-width page.\nconst max=Math.max(0,scroller.scrollWidth-scroller.clientWidth);const step=Math.max(1,scroller.clientWidth)*cardsPerClick;const fallback=Math.max(0,Math.min(max,current+direction*step));if(Math.abs(fallback-current)>EPSILON)scrollTo(scroller,fallback);return;}const nextLeft=available[Math.min(cardsPerClick,available.length)-1];scrollTo(scroller,nextLeft);},[cardsPerClick,getCards,positions,resolveTargetAndScroller,scrollTo]);const buttonStyle=useCallback(disabled=>({width:arrowSize,height:arrowSize,border:0,padding:0,background:\"transparent\",color:arrowColor,opacity:disabled?disabledOpacity:1,cursor:disabled?\"default\":\"pointer\",fontSize:arrowSize*.72,lineHeight:1,// iOS Safari applies its own button chrome and a 300ms tap delay\n    // unless these are set explicitly.\n    WebkitAppearance:\"none\",appearance:\"none\",touchAction:\"manipulation\",WebkitTapHighlightColor:\"transparent\"}),[arrowColor,arrowSize,disabledOpacity]);return /*#__PURE__*/_jsxs(\"nav\",{ref:navRef,\"aria-label\":\"Featured equipment controls\",style:{position:\"relative\",display:\"flex\",alignItems:\"center\",gap:12,width:\"max-content\",height:\"100%\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Previous featured item\",disabled:state.left,onClick:event=>{event.preventDefault();move(-1);},style:buttonStyle(state.left),children:\"←\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Next featured item\",disabled:state.right,onClick:event=>{event.preventDefault();move(1);},style:buttonStyle(state.right),children:\"→\"})]});}addPropertyControls(FeaturedItemsCarouselControls,{scrollTarget:{type:ControlType.String,title:\"Scroll Target\",defaultValue:\"featured-items-track\"},cardsPerClick:{type:ControlType.Number,title:\"Cards per Click\",defaultValue:1,min:1,max:5,step:1},arrowColor:{type:ControlType.Color,title:\"Arrow Color\",defaultValue:\"#111111\"},disabledOpacity:{type:ControlType.Number,title:\"Disabled Opacity\",defaultValue:.3,min:0,max:1,step:.05},arrowSize:{type:ControlType.Number,title:\"Arrow Size\",defaultValue:28,min:18,max:64,step:1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FeaturedItemsCarouselControls\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FeaturedItemsCarouselControls.map"],"mappings":"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"}