{"version":3,"file":"Carousel_Controls_2.DGDZUD69.mjs","names":["useRef","useState","useMemo"],"sources":["https:/framerusercontent.com/modules/oVvg3KGPUgVB2n0pw2PU/5HAPtcUVVgAFlJlCBZie/Carousel_Controls_2.js"],"sourcesContent":["/// Arrow controls for carousels and scroll containers\n// Optimized for Framer code components with drag/swipe support\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useLayoutEffect,useMemo,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function CarouselControls(props){const{direction=\"horizontal\",arrowColor=\"#000000\",backgroundColor=\"#F5F5F5\",borderRadius=8,size=40,spacing=12,selectedCarousel=\"\",showLabels=false,previousLabel=\"Previous\",nextLabel=\"Next\",font,useCustomIcons=false,previousIcon=\"\",nextIcon=\"\"}=props;const carouselRef=useRef(null);const isScrollContainerRef=useRef(false);const[canGoPrevious,setCanGoPrevious]=useState(false);const[canGoNext,setCanGoNext]=useState(true);// Drag state refs\nconst dragStartRef=useRef(null);const dragLastRef=useRef(null);const draggingRef=useRef(false);const isElementScrollable=el=>{if(!el)return false;const{overflow,overflowX,overflowY}=el.style;const mayScroll=v=>v===\"scroll\"||v===\"auto\";if(!(mayScroll(overflow)||mayScroll(overflowX)||mayScroll(overflowY)))return false;return el.scrollWidth>el.clientWidth||el.scrollHeight>el.clientHeight;};const isHorizontal=direction===\"horizontal\";const schedule=useRef(null);const batched=fn=>{if(schedule.current!=null)return;schedule.current=requestAnimationFrame(()=>{schedule.current=null;fn();});};const checkScrollState=container=>{if(!container){setCanGoPrevious(false);setCanGoNext(false);return;}if(isHorizontal){const left=container.scrollLeft;const max=container.scrollWidth-container.clientWidth;setCanGoPrevious(left>1);setCanGoNext(left<max-1);}else{const top=container.scrollTop;const max=container.scrollHeight-container.clientHeight;setCanGoPrevious(top>1);setCanGoNext(top<max-1);}};const queryOnce=()=>{if(typeof window===\"undefined\")return null;const name=selectedCarousel?.trim();if(!name)return null;const named=document.querySelector(`[data-framer-name=\"${CSS.escape(name)}\"]`);if(named)return named;const byClass=Array.from(document.querySelectorAll('[class*=\"carousel\" i]')).find(el=>el.className.toLowerCase().includes(name.toLowerCase()));if(byClass)return byClass;const byLabel=Array.from(document.querySelectorAll('[role*=\"carousel\" i], [aria-label*=\"carousel\" i]')).find(el=>(el.getAttribute(\"aria-label\")||el.getAttribute(\"role\")||\"\").toLowerCase().includes(name.toLowerCase()));return byLabel||null;};const updateForCarousel=el=>{carouselRef.current=el;const isScroll=isElementScrollable(el);isScrollContainerRef.current=isScroll;if(!el){setCanGoPrevious(false);setCanGoNext(false);return;}if(isScroll){checkScrollState(el);return;}const q=s=>el.querySelector(s);const qa=s=>el.querySelectorAll(s);const prevBtn=q('[aria-label*=\"previous\" i], .carousel-prev, .prev');const nextBtn=q('[aria-label*=\"next\" i], .carousel-next, .next');if(prevBtn)setCanGoPrevious(!prevBtn.disabled&&!prevBtn.hasAttribute(\"aria-disabled\"));if(nextBtn)setCanGoNext(!nextBtn.disabled&&!nextBtn.hasAttribute(\"aria-disabled\"));const indicators=qa('[role=\"tab\"], .carousel-indicator, .slide-indicator');if(indicators.length){const active=el.querySelector('[role=\"tab\"][aria-selected=\"true\"], .carousel-indicator.active, .slide-indicator.active');if(active){const list=Array.from(indicators);const i=list.indexOf(active);setCanGoPrevious(i>0);setCanGoNext(i<list.length-1);return;}}const slideContainer=q('.carousel-inner, .slides-container, [data-framer-name*=\"slide\" i]');if(slideContainer){const slides=Array.from(slideContainer.children);const active=slideContainer.querySelector('.active, .current, [aria-current=\"true\"]');if(active){const i=slides.indexOf(active);setCanGoPrevious(i>0);setCanGoNext(i<slides.length-1);}}};useEffect(()=>{setCanGoPrevious(false);setCanGoNext(true);},[]);useLayoutEffect(()=>{const el=queryOnce();updateForCarousel(el);if(!el)return;const observer=new MutationObserver(()=>{batched(()=>updateForCarousel(el));});observer.observe(el,{subtree:true,childList:true,attributes:true,attributeFilter:[\"class\",\"data-framer-name\",\"role\",\"aria-label\",\"aria-selected\",\"aria-current\",\"disabled\",\"aria-disabled\"]});return()=>observer.disconnect();},[selectedCarousel,direction]);useEffect(()=>{const el=carouselRef.current;if(!el||!isScrollContainerRef.current)return;const onScroll=()=>batched(()=>checkScrollState(el));el.addEventListener(\"scroll\",onScroll,{passive:true});checkScrollState(el);return()=>el.removeEventListener(\"scroll\",onScroll);},[carouselRef.current,direction]);// 🧭 Drag-to-scroll / swipe support with grab cursor\nuseEffect(()=>{const el=carouselRef.current;if(!el)return;const isHorizontalDir=isHorizontal;const onPointerDown=e=>{draggingRef.current=true;dragStartRef.current=isHorizontalDir?e.clientX:e.clientY;dragLastRef.current=dragStartRef.current;el.style.cursor=\"grabbing\";el.style.userSelect=\"none\";document.body.style.userSelect=\"none\";};const onPointerMove=e=>{if(!draggingRef.current||dragStartRef.current==null)return;const current=isHorizontalDir?e.clientX:e.clientY;const delta=current-(dragLastRef.current??current);dragLastRef.current=current;if(isScrollContainerRef.current){if(isHorizontalDir)el.scrollLeft-=delta;else el.scrollTop-=delta;}};const endDrag=e=>{if(!draggingRef.current)return;draggingRef.current=false;el.style.cursor=\"grab\";document.body.style.userSelect=\"\";el.style.userSelect=\"\";if(e&&dragStartRef.current!=null){const end=isHorizontalDir?e.clientX:e.clientY;const delta=(end??0)-dragStartRef.current;const threshold=50;if(Math.abs(delta)>threshold){clickOrKey(delta>0?\"prev\":\"next\");}}dragStartRef.current=null;dragLastRef.current=null;};el.style.cursor=\"grab\";el.addEventListener(\"pointerdown\",onPointerDown,{passive:true});window.addEventListener(\"pointermove\",onPointerMove,{passive:true});window.addEventListener(\"pointerup\",endDrag,{passive:true});window.addEventListener(\"pointercancel\",endDrag,{passive:true});return()=>{el.removeEventListener(\"pointerdown\",onPointerDown);window.removeEventListener(\"pointermove\",onPointerMove);window.removeEventListener(\"pointerup\",endDrag);window.removeEventListener(\"pointercancel\",endDrag);};},[direction,carouselRef.current]);const clickOrKey=type=>{const el=carouselRef.current;if(!el)return;if(isScrollContainerRef.current){const delta=(isHorizontal?el.clientWidth:el.clientHeight)*.8*(type===\"prev\"?-1:1);if(isHorizontal)el.scrollBy({left:delta,behavior:\"smooth\"});else el.scrollBy({top:delta,behavior:\"smooth\"});return;}const target=el.querySelector(type===\"prev\"?'[aria-label*=\"previous\" i], .carousel-prev, .prev':'[aria-label*=\"next\" i], .carousel-next, .next');if(target){target.click();setTimeout(()=>updateForCarousel(el),80);return;}const focusable=el.querySelector('[tabindex], button, [role=\"button\"]');if(focusable){focusable.focus();const key=isHorizontal?type===\"prev\"?\"ArrowLeft\":\"ArrowRight\":type===\"prev\"?\"ArrowUp\":\"ArrowDown\";const ev=new KeyboardEvent(\"keydown\",{key,bubbles:true});focusable.dispatchEvent(ev);setTimeout(()=>updateForCarousel(el),80);}};const previousEnabled=!!carouselRef.current&&canGoPrevious;const nextEnabled=!!carouselRef.current&&canGoNext;const baseButtonStyle=useMemo(()=>({width:size,height:size,backgroundColor,border:\"none\",borderRadius,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",transition:\"transform .18s cubic-bezier(.4,0,.2,1), opacity .18s\",willChange:\"transform\",userSelect:\"none\",cursor:\"pointer\"}),[size,backgroundColor,borderRadius]);const disabledStyle=useMemo(()=>({opacity:.4,cursor:\"not-allowed\"}),[]);const arrowStyle=useMemo(()=>({width:size*.4,height:size*.4,fill:\"none\",stroke:arrowColor,strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\",transition:\"stroke .18s\"}),[size,arrowColor]);const containerStyle=useMemo(()=>({display:\"flex\",alignItems:\"center\",gap:spacing,flexDirection:isHorizontal?\"row\":\"column\",width:\"100%\",height:\"100%\",WebkitUserSelect:\"none\"}),[spacing,isHorizontal]);const labelStyle=useMemo(()=>({...font||{},color:arrowColor,margin:0,userSelect:\"none\"}),[font,arrowColor]);const renderArrow=(kind,enabled)=>{const icon=kind===\"prev\"?previousIcon:nextIcon;if(useCustomIcons&&icon){return /*#__PURE__*/_jsx(\"img\",{src:icon,alt:kind===\"prev\"?\"previous\":\"next\",style:{width:size*.5,height:size*.5,objectFit:\"contain\",opacity:enabled?1:.4}});}return /*#__PURE__*/_jsx(\"svg\",{style:{...arrowStyle,stroke:enabled?arrowColor:\"#999999\"},viewBox:\"0 0 24 24\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:kind===\"prev\"?\"M15 18l-6-6 6-6\":\"M9 18l6-6-6-6\"})});};const onHover=(e,up)=>{const el=e.currentTarget;if(up&&(previousEnabled||nextEnabled)||!up)el.style.transform=up?\"scale(1.05)\":\"scale(1)\";};return /*#__PURE__*/_jsxs(\"div\",{style:containerStyle,children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,flexDirection:isHorizontal?\"row\":\"column\"},children:[/*#__PURE__*/_jsx(\"button\",{style:{...baseButtonStyle,...previousEnabled?{}:disabledStyle},onClick:()=>clickOrKey(\"prev\"),disabled:!previousEnabled,\"aria-label\":\"Previous\",onMouseEnter:e=>onHover(e,true),onMouseLeave:e=>onHover(e,false),children:renderArrow(\"prev\",previousEnabled)}),showLabels&&/*#__PURE__*/_jsx(\"span\",{style:labelStyle,children:previousLabel})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,flexDirection:isHorizontal?\"row\":\"column\"},children:[/*#__PURE__*/_jsx(\"button\",{style:{...baseButtonStyle,...nextEnabled?{}:disabledStyle},onClick:()=>clickOrKey(\"next\"),disabled:!nextEnabled,\"aria-label\":\"Next\",onMouseEnter:e=>onHover(e,true),onMouseLeave:e=>onHover(e,false),children:renderArrow(\"next\",nextEnabled)}),showLabels&&/*#__PURE__*/_jsx(\"span\",{style:labelStyle,children:nextLabel})]})]});}addPropertyControls(CarouselControls,{selectedCarousel:{type:ControlType.String,title:\"Select Carousel\",defaultValue:\"\",placeholder:\"Enter carousel name...\"},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"horizontal\",\"vertical\"],optionTitles:[\"↔\",\"↕\"],defaultValue:\"horizontal\",displaySegmentedControl:true},size:{type:ControlType.Number,title:\"Button Size\",defaultValue:40,min:24,max:80,step:4,unit:\"px\"},spacing:{type:ControlType.Number,title:\"Spacing\",defaultValue:12,min:0,max:40,step:2,unit:\"px\"},useCustomIcons:{type:ControlType.Boolean,title:\"Custom Icons\",defaultValue:false,enabledTitle:\"Custom\",disabledTitle:\"Default\"},previousIcon:{type:ControlType.File,title:\"Previous Icon\",allowedFileTypes:[\"jpg\",\"jpeg\",\"png\",\"gif\",\"webp\",\"svg\"],hidden:({useCustomIcons})=>!useCustomIcons},nextIcon:{type:ControlType.File,title:\"Next Icon\",allowedFileTypes:[\"jpg\",\"jpeg\",\"png\",\"gif\",\"webp\",\"svg\"],hidden:({useCustomIcons})=>!useCustomIcons},arrowColor:{type:ControlType.Color,title:\"Arrow Color\",defaultValue:\"#000000\",hidden:({useCustomIcons})=>useCustomIcons},backgroundColor:{type:ControlType.Color,title:\"Background Color\",defaultValue:\"#F5F5F5\"},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:8,min:0,step:1,unit:\"px\"},showLabels:{type:ControlType.Boolean,title:\"Show Labels\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\"},previousLabel:{type:ControlType.String,title:\"Previous Label\",defaultValue:\"Previous\",hidden:({showLabels})=>!showLabels},nextLabel:{type:ControlType.String,title:\"Next Label\",defaultValue:\"Next\",hidden:({showLabels})=>!showLabels},font:{type:ControlType.Font,title:\"Label Font\",defaultValue:{fontSize:\"14px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\",hidden:({showLabels})=>!showLabels}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CarouselControls\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Carousel_Controls_2.map"],"mappings":"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"}