{"version":3,"file":"mxo_rwZbG.T-Rimjlu.mjs","names":["useState","useState","useRef","_Fragment"],"sources":["https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/nQ0onwuTqdb7M8FwrTcA/n0wefabTREP7Ry65hoNL/GalleryOverrideHelpers.js","https:/framerusercontent.com/modules/SHvQfRuZB5CvzXXws8Fn/0t4zAEiBDM287PbSuxST/CMSGallerySlider.js","https:/framerusercontent.com/modules/su6QeKnFDSDuNRZG5DSU/04F7XgWpojqg8QQoZRvE/mxo_rwZbG.js"],"sourcesContent":["import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map","/*\n * createStore (framer/store@1.0.1)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js\"\n","import{cloneElement}from\"react\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";// ============================================================================\n// STORE\n// ============================================================================\n// Store for gallery data indexed by item ID and position\n// EXPORTED so other components (like CMSGallerySlider) can read gallery data\nexport const useGalleryStore=createStore({galleryDataById:{},galleryDataByIndex:[],galleryFieldKey:null});// ============================================================================\n// HELPER FUNCTIONS\n// ============================================================================\n// Helper to extract CMS query from the slot structure\n// Supports both standard and Masonry CMS Collection structures\nexport const getCmsQueryFromSlot=element=>{if(!element)return null;// Masonry-enabled structure: children.props.query\nconst masonryQuery=element?.props?.children?.props?.query;if(masonryQuery)return masonryQuery;// Standard structure: children.props.children.props.query\nconst regularQuery=element?.props?.children?.props?.children?.props?.query;return regularQuery||null;};// Helper to get the deepest left node (for collections with reference fields)\nexport const getDeepestLeft=node=>{if(!node)return null;let current=node;while(current?.left){current=current.left;}return current;};// Helper to find the internal field key by display name\nexport const findFieldKeyByName=(propertyControls,fieldName)=>{if(!propertyControls)return null;const entry=Object.entries(propertyControls).find(([key,control])=>control?.title?.toLowerCase()===fieldName.toLowerCase());return entry?entry[0]:null;};// Helper to find the QueryData element in the tree and get its path\nexport const findQueryDataElement=element=>{if(!element)return null;// Check masonry structure: element.props.children has query\nconst masonryChild=element?.props?.children;if(masonryChild?.props?.query){return{queryData:masonryChild,path:\"masonry\"};}// Check standard structure: element.props.children.props.children has query\nconst listElement=element?.props?.children;const queryElement=listElement?.props?.children;if(queryElement?.props?.query){return{queryData:queryElement,path:\"standard\"};}return null;};/**\n * Creates modified children with gallery field injection and data extraction\n */export const getModifiedChildren=({children,collectionInfo,galleryFieldKey,store,setStore})=>{if(!collectionInfo||!children||!galleryFieldKey){return children;}const{query}=collectionInfo;const element=children;// Find the QueryData element\nconst queryDataInfo=findQueryDataElement(element);if(!queryDataInfo){console.warn(\"[GalleryOverride] Could not find QueryData element\");return children;}const{queryData,path}=queryDataInfo;const originalChildrenFn=queryData.props.children;// Check if it's a render function\nif(typeof originalChildrenFn!==\"function\"){console.warn(\"[GalleryOverride] QueryData children is not a function\");return children;}// Get collection ID for the select query\nconst currentSelect=query.select||[];const collectionId=currentSelect[0]?.collection||(query.from?.constraint?getDeepestLeft(query.from)?.alias:query.from?.alias)||\"\";// Check if gallery field is already in select\nconst hasGalleryField=currentSelect.some(field=>field.name===galleryFieldKey||field===galleryFieldKey);// Create modified query with gallery field if needed\nlet newQuery=query;if(!hasGalleryField){const gallerySelectItem={collection:collectionId,name:galleryFieldKey,type:\"Identifier\"};newQuery={...query,select:[...currentSelect,gallerySelectItem]};// console.log(\"[GalleryOverride] Adding gallery field to select:\", {\n//     galleryFieldKey,\n//     collectionId,\n// })\n}// Wrap the children function to intercept collection data\nconst wrappedChildrenFn=(collection,paginationInfo,loadMore)=>{// Extract gallery data from collection and store it\nif(collection&&Array.isArray(collection)){const galleryDataById={};const galleryDataByIndex=[];collection.forEach((item,index)=>{// Gallery field data is directly on the item with the field key\nconst galleryData=item[galleryFieldKey]||[];const itemId=item.id||`item-${index}`;galleryDataById[itemId]=galleryData;galleryDataByIndex[index]=galleryData;});// Update store with gallery data\n// Using a ref-style check to avoid infinite loops\nconst hasChanged=JSON.stringify(galleryDataByIndex)!==JSON.stringify(store.galleryDataByIndex);if(hasChanged){// console.log(\"[GalleryOverride] Storing gallery data:\", {\n//     itemCount: collection.length,\n//     galleryFieldKey,\n//     sampleGallery: galleryDataByIndex[0],\n// })\nsetStore({...store,galleryDataById,galleryDataByIndex,galleryFieldKey});}}// Call original render function\nreturn originalChildrenFn(collection,paginationInfo,loadMore);};// Clone the QueryData with modified query and wrapped children\nconst newQueryData=/*#__PURE__*/cloneElement(queryData,{query:newQuery,children:wrappedChildrenFn});// Rebuild the element tree\nif(path===\"masonry\"){// Masonry: element -> QueryData\nreturn /*#__PURE__*/cloneElement(element,{children:newQueryData});}else{// Standard: element -> listElement -> QueryData\nconst listElement=element.props.children;const newListElement=/*#__PURE__*/cloneElement(listElement,{children:newQueryData});return /*#__PURE__*/cloneElement(element,{children:newListElement});}};\nexport const __FramerMetadata__ = {\"exports\":{\"getCmsQueryFromSlot\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"findQueryDataElement\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getModifiedChildren\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"findFieldKeyByName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useGalleryStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getDeepestLeft\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GalleryOverrideHelpers.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useRef,useEffect}from\"react\";import{motion,AnimatePresence}from\"framer-motion\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useGalleryStore}from\"https://framerusercontent.com/modules/nQ0onwuTqdb7M8FwrTcA/n0wefabTREP7Ry65hoNL/GalleryOverrideHelpers.js\";/**\n * CMSGallerySlider\n * A gallery slider component with CMS and normal gallery support, featuring thumbnail navigation and smooth animations.\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 400\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerDisableUnlink\n */export default function CMSGallerySlider({cmsGallery,galleryImages=[],gallerySource=\"cms\",itemIndex=0,largeImage_settings,largeImageContainer,arrows,thumbnails,containerGap=16}){// Get gallery store for override mode\nconst[galleryStore]=useGalleryStore();// Destructure large image settings with defaults\nconst{largeImageWidth=\"100%\",largeImageHeight=\"300px\",largeImageObjectFit=\"cover\",largeImageBorderRadius=12,animationSpeed=.5,slideDirection=\"horizontal\",transitionType=\"slide\",enableScale=false,scaleAmount=.8,enableFade=false,fadeOpacity=0}=largeImage_settings||{};// Destructure arrow settings with defaults\nconst{showArrows=true,arrowWidth=40,arrowHeight=40,arrowIconSize=20,arrowPosition=10,arrowColor=\"#ffffff\",arrowBackgroundColor=\"rgba(0, 0, 0, 0.5)\",arrowBorder={borderWidth:0,borderStyle:\"solid\",borderColor:\"transparent\"},arrowBorderRadius=50,arrowType=\"Default\",customPrevIcon=\"\",customNextIcon=\"\",arrowHoverScale=1.1,arrowHoverBackgroundColor=\"rgba(0, 0, 0, 0.7)\",arrowHoverColor=\"#ffffff\"}=arrows||{};// Destructure large image container settings with defaults\nconst{largeImageContainerPadding=0,largeImageContainerBackground=\"transparent\",largeImageContainerBorder=\"none\",largeImageContainerBorderRadius=0}=largeImageContainer||{};// Destructure thumbnail settings with defaults\nconst{thumbnailHeight=70,thumbnailGap=12,thumbnailBorderRadius=12,thumbnailPosition=\"bottom\",responsiveBreakpoint=768,thumbnailHoverScale=1.05,thumbnailHoverOpacity=1,thumbnailActiveOpacity=1,thumbnailInactiveOpacity=.5,thumbnailTransitionSpeed=.3,thumbnailAnimationType=\"scale\",thumbnailBackground=\"transparent\",thumbnailPadding=0,thumbnailBorder={borderWidth:3,borderStyle:\"solid\",borderColor:\"#fff\"},showThumbnails=true,thumbnailContainerPadding=0,thumbnailContainerBackground=\"transparent\",thumbnailContainerBorder={borderWidth:0,borderStyle:\"solid\",borderColor:\"rgba(0, 0, 0, 0)\"},thumbnailContainerBorderRadius=0,thumbnailContainerAlignment=\"center\",showScrollbar=false}=thumbnails||{};const[activeIndex,setActiveIndex]=useState(0);const[direction,setDirection]=useState(0);const thumbnailContainerRef=useRef(null);const thumbnailRefs=useRef([]);// Track if user has interacted (changed slides) to prevent auto-scroll on page load\nconst hasUserInteracted=useRef(false);// Ref for empty state to hide parent container\nconst emptyStateRef=useRef(null);// Ref for main container when content exists\nconst mainContainerRef=useRef(null);// State for window width (SSR-safe: initialize with default, update on mount)\nconst[windowWidth,setWindowWidth]=useState(1920);// Track window resize for responsive behavior\nuseEffect(()=>{const handleResize=()=>{setWindowWidth(window.innerWidth);};window.addEventListener(\"resize\",handleResize);return()=>window.removeEventListener(\"resize\",handleResize);},[]);// Determine effective thumbnail position based on screen width\nconst effectiveThumbnailPosition=(()=>{if(windowWidth<responsiveBreakpoint){// On small screens, switch left/right to bottom\nif(thumbnailPosition===\"left\"||thumbnailPosition===\"right\"){return\"bottom\";}}return thumbnailPosition;})();// Auto-scroll to active thumbnail (only after user has interacted)\nuseEffect(()=>{// Scroll to active thumbnail\nif(thumbnailContainerRef.current&&thumbnailRefs.current[activeIndex]){const container=thumbnailContainerRef.current;const thumbnail=thumbnailRefs.current[activeIndex];if(thumbnail){const isVertical=effectiveThumbnailPosition===\"left\"||effectiveThumbnailPosition===\"right\";// Small delay to ensure DOM is updated\nsetTimeout(()=>{if(isVertical){// Vertical scroll\nconst thumbnailTop=thumbnail.offsetTop;const thumbnailHeight=thumbnail.offsetHeight;const containerScrollTop=container.scrollTop;const containerHeight=container.clientHeight;if(thumbnailTop<containerScrollTop){container.scrollTo({top:thumbnailTop,behavior:\"smooth\"});}else if(thumbnailTop+thumbnailHeight>containerScrollTop+containerHeight){container.scrollTo({top:thumbnailTop+thumbnailHeight-containerHeight,behavior:\"smooth\"});}}else{// Horizontal scroll - use manual calculation to avoid page scroll\nconst thumbnailLeft=thumbnail.offsetLeft;const thumbnailWidth=thumbnail.offsetWidth;const containerScrollLeft=container.scrollLeft;const containerWidth=container.clientWidth;// Center the thumbnail in the container\nconst targetScrollLeft=thumbnailLeft-containerWidth/2+thumbnailWidth/2;container.scrollTo({left:targetScrollLeft,behavior:\"smooth\"});}},50);}}},[activeIndex,effectiveThumbnailPosition]);// Dummy/placeholder images for canvas preview\nconst dummyGalleryImages=[\"https://images.unsplash.com/photo-1505740420928-5e560c06d30e?w=800&q=80\",\"https://images.unsplash.com/photo-1523275335684-37898b6baf30?w=800&q=80\",\"https://images.unsplash.com/photo-1572635196237-14b3f281503f?w=800&q=80\",\"https://images.unsplash.com/photo-1560343090-f0409e92791a?w=800&q=80\"];// Check if we're on the canvas\nconst isCanvas=RenderTarget.current()===RenderTarget.canvas;// Helper to render icon (either default or custom)\nconst renderIcon=(type,customIconString,defaultIcon,iconSize,color)=>{if(type===\"Custom\"&&customIconString){// Check if it's an image URL (simple check)\nif(customIconString.match(/\\.(jpeg|jpg|gif|png|webp|svg)$/)||customIconString.startsWith(\"http\")){return /*#__PURE__*/_jsx(\"img\",{src:customIconString,alt:\"Icon\",style:{width:iconSize,height:iconSize,objectFit:\"contain\"}});}// Assume it's an SVG string - sanitize slightly for color\nconst normalizedSVG=customIconString.replace(/fill\\s*=\\s*[\"'](?:#[0-9a-fA-F]{3,6}|rgb\\([^)]*\\)|rgba\\([^)]*\\)|[a-z]+)[\"']/gi,'fill=\"currentColor\"').replace(/stroke\\s*=\\s*[\"'](?:#[0-9a-fA-F]{3,6}|rgb\\([^)]*\\)|rgba\\([^)]*\\)|[a-z]+)[\"']/gi,'stroke=\"currentColor\"');return /*#__PURE__*/_jsx(\"div\",{style:{width:iconSize,height:iconSize,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:color},dangerouslySetInnerHTML:{__html:normalizedSVG}});}// Default\nreturn defaultIcon;};// Helper function to recursively find image URLs in deeply nested CMS structures\nconst findImageUrls=(obj,depth=0)=>{if(!obj||depth>10)return[]// Prevent infinite recursion\n;const urls=[];// If it's a string that looks like an image URL, return it\nif(typeof obj===\"string\"){if(obj.startsWith(\"http\")&&(obj.includes(\".jpg\")||obj.includes(\".jpeg\")||obj.includes(\".png\")||obj.includes(\".webp\")||obj.includes(\".gif\")||obj.includes(\"images.unsplash.com\")||obj.includes(\"framerusercontent.com\"))){return[obj];}return[];}// If it's not an object, return empty\nif(typeof obj!==\"object\")return[];// If it's an array, search each element\nif(Array.isArray(obj)){for(const item of obj){urls.push(...findImageUrls(item,depth+1));}return urls;}// Check for common image properties first\nif(obj.src&&typeof obj.src===\"string\"){urls.push(obj.src);}if(obj.url&&typeof obj.url===\"string\"){urls.push(obj.url);}if(obj.image&&typeof obj.image===\"string\"){urls.push(obj.image);}// If we found URLs at this level, return them\nif(urls.length>0)return urls;// Otherwise, recursively search all properties\nfor(const key of Object.keys(obj)){// Skip React internal properties and functions\nif(key.startsWith(\"$$\")||key===\"key\"||key===\"ref\"||typeof obj[key]===\"function\"){continue;}urls.push(...findImageUrls(obj[key],depth+1));}return urls;};// Extract images from CMS Gallery slot\nconst extractCMSGalleryImages=()=>{// ON CANVAS: Always return dummy images for visual preview in CMS mode\n// This ensures the designer always sees a preview regardless of CMS data state\nif(isCanvas){return dummyGalleryImages;}// Check if CMS gallery is connected and has data\nif(!cmsGallery){// No CMS gallery connected - return dummy images for preview\nreturn dummyGalleryImages;}// Handle case where cmsGallery is not an array\nconst galleryArray=Array.isArray(cmsGallery)?cmsGallery:[cmsGallery];const gallery=galleryArray.length>0?galleryArray[0]:null;if(!gallery){return[];}// Try to find the image array in the deeply nested CMS structure\n// The structure is: gallery.props.children.props.children.props.[dynamicKey] = Array\ntry{const deepProps=gallery?.props?.children?.props?.children?.props;if(deepProps){// Find the array property (it has a dynamic name like \"axt2_Xpt2\")\nfor(const key of Object.keys(deepProps)){const value=deepProps[key];if(Array.isArray(value)&&value.length>0){// This is likely our images array\nconst images=[];for(const item of value){// Each item has a dynamic property containing image data\nif(typeof item===\"object\"&&item!==null){const foundUrls=findImageUrls(item,0);if(foundUrls.length>0){images.push(foundUrls[0])// Take first URL per item\n;}}}if(images.length>0){return images;}}}}// Fallback: Search the entire gallery structure for images\nconst allUrls=findImageUrls(gallery,0);if(allUrls.length>0){// Return all found URLs, including duplicates (some users want to show same image multiple times)\nreturn allUrls;}}catch(error){console.warn(\"CMSGallerySlider: Error extracting images\",error);}// Return empty array if nothing found\nreturn[];};// Helper to extract image URLs from store data (handles nested structure)\nconst extractImagesFromStoreData=storeData=>{if(!storeData||!Array.isArray(storeData))return[];const urls=[];for(const item of storeData){if(typeof item!==\"object\"||item===null)continue;// Find the image property (dynamic key like \"xZ1goga2o\")\nfor(const key of Object.keys(item)){if(key===\"id\")continue;const value=item[key];if(value&&typeof value===\"object\"&&value.src){urls.push(value.src);break;// Only take first image property per item\n}}}return urls;};// Get the appropriate gallery based on the source mode\nconst getGalleryImages=()=>{switch(gallerySource){case\"normal\":// Use normal gallery images from props\nreturn galleryImages&&galleryImages.length>0?galleryImages:[];case\"override\":// Use gallery data from store (populated by forCMS override)\nif(isCanvas){return dummyGalleryImages// Show placeholder on canvas\n;}// Framer itemIndex is 1-based, store array is 0-based\nconst storeIndex=Math.max(0,itemIndex-1);const storeData=galleryStore.galleryDataByIndex[storeIndex]||[];const extractedImages=extractImagesFromStoreData(storeData);return extractedImages.length>0?extractedImages:[];case\"cms\":default:// Use CMS Gallery images from slot\nreturn extractCMSGalleryImages();}};// Get gallery images\nconst selectedGalleryImages=getGalleryImages();// For Normal Gallery: Combine main image with gallery images for slider\n// For CMS Gallery: Combine main image with CMS gallery images for slider\n// For Override: Use images from store\n// If largeImage is empty, use first gallery image as main, then rest as slider\nconst sliderImages=(()=>{// In Normal Gallery mode, if gallery is empty, show dummy images\nif(gallerySource===\"normal\"&&(!galleryImages||galleryImages.length===0)){return dummyGalleryImages;}// In Override mode on canvas, show dummy images\nif(gallerySource===\"override\"&&isCanvas){return dummyGalleryImages;}return selectedGalleryImages;})();// Hide parent container when empty, show when content exists\nuseEffect(()=>{if(!sliderImages||sliderImages.length===0){if(emptyStateRef.current){const parent=emptyStateRef.current.parentElement;if(parent){parent.style.display=\"none\";}}}else{// Restore visibility if we have images\nif(mainContainerRef.current){const parent=mainContainerRef.current.parentElement;if(parent){parent.style.removeProperty(\"display\");if(getComputedStyle(parent).display===\"none\"){parent.style.display=\"block\";}}}}},[sliderImages]);// If no images available, don't render anything (use display: none to collapse)\nif(!sliderImages||sliderImages.length===0){return /*#__PURE__*/_jsx(\"div\",{ref:emptyStateRef,style:{display:\"none\"}});}const hasGallery=sliderImages.length>1;// Handle thumbnail click\nconst handleThumbnailClick=index=>{if(index===activeIndex)return;hasUserInteracted.current=true;setDirection(index>activeIndex?1:-1);setActiveIndex(index);};// Handle arrow navigation\nconst handlePrevious=()=>{hasUserInteracted.current=true;const newIndex=activeIndex===0?sliderImages.length-1:activeIndex-1;setDirection(-1);setActiveIndex(newIndex);};const handleNext=()=>{hasUserInteracted.current=true;const newIndex=activeIndex===sliderImages.length-1?0:activeIndex+1;setDirection(1);setActiveIndex(newIndex);};// Calculate thumbnail width based on aspect ratio (1.4:1)\nconst thumbnailWidth=thumbnailHeight*1.4;// Animation variants based on transition type and slide direction\nconst slideVariants={enter:dir=>{const isVertical=slideDirection===\"vertical\";switch(transitionType){case\"fade\":return{x:0,y:0,opacity:enableFade?fadeOpacity:0,scale:1};case\"scale\":return{x:0,y:0,opacity:1,scale:enableScale?scaleAmount:.8};case\"slideScale\":return isVertical?{x:0,y:dir>0?\"100%\":\"-100%\",opacity:1,scale:enableScale?scaleAmount:.9}:{x:dir>0?\"100%\":\"-100%\",y:0,opacity:1,scale:enableScale?scaleAmount:.9};case\"slideFade\":return isVertical?{x:0,y:dir>0?\"100%\":\"-100%\",opacity:enableFade?fadeOpacity:0,scale:1}:{x:dir>0?\"100%\":\"-100%\",y:0,opacity:enableFade?fadeOpacity:0,scale:1};case\"slide\":default:return isVertical?{x:0,y:dir>0?\"100%\":\"-100%\",opacity:1,scale:1}:{x:dir>0?\"100%\":\"-100%\",y:0,opacity:1,scale:1};}},center:{x:0,y:0,opacity:1,scale:1},exit:dir=>{const isVertical=slideDirection===\"vertical\";switch(transitionType){case\"fade\":return{x:0,y:0,opacity:enableFade?fadeOpacity:0,scale:1};case\"scale\":return{x:0,y:0,opacity:1,scale:enableScale?scaleAmount:.8};case\"slideScale\":return isVertical?{x:0,y:dir>0?\"-100%\":\"100%\",opacity:1,scale:enableScale?scaleAmount:.9}:{x:dir>0?\"-100%\":\"100%\",y:0,opacity:1,scale:enableScale?scaleAmount:.9};case\"slideFade\":return isVertical?{x:0,y:dir>0?\"-100%\":\"100%\",opacity:enableFade?fadeOpacity:0,scale:1}:{x:dir>0?\"-100%\":\"100%\",y:0,opacity:enableFade?fadeOpacity:0,scale:1};case\"slide\":default:return isVertical?{x:0,y:dir>0?\"-100%\":\"100%\",opacity:1,scale:1}:{x:dir>0?\"-100%\":\"100%\",y:0,opacity:1,scale:1};}}};// Get thumbnail hover animation based on type\nconst getThumbnailHoverAnimation=()=>{switch(thumbnailAnimationType){case\"lift\":return{y:-4,opacity:thumbnailHoverOpacity};case\"glow\":return{opacity:thumbnailHoverOpacity,boxShadow:\"0 0 20px rgba(255, 255, 255, 0.6), 0 0 30px rgba(255, 255, 255, 0.4)\"};case\"scaleAndLift\":return{scale:thumbnailHoverScale,y:-4,opacity:thumbnailHoverOpacity};case\"scale\":default:return{scale:thumbnailHoverScale,opacity:thumbnailHoverOpacity};}};// Calculate total height for thumbnail container (including padding and border)\nconst calculateThumbnailMaxHeight=()=>{const isVertical=effectiveThumbnailPosition===\"left\"||effectiveThumbnailPosition===\"right\";// If thumbnails are hidden, height is just the large image height\nif(!showThumbnails)return largeImageHeight;if(!isVertical)return\"auto\";// If thumbnails are hidden, height is just the large image height\nif(!showThumbnails)return largeImageHeight;// Parse the largeImageHeight (handle px, vh, etc.)\nconst heightMatch=largeImageHeight.match(/^(\\d+(?:\\.\\d+)?)(px|vh|%)?$/);if(!heightMatch)return largeImageHeight;const heightValue=parseFloat(heightMatch[1]);const heightUnit=heightMatch[2]||\"px\";// Only calculate for px values\nif(heightUnit!==\"px\")return largeImageHeight;// Get padding value (can be a number or string like \"10px\" or object)\nlet totalPadding=0;if(typeof largeImageContainerPadding===\"number\"){totalPadding=largeImageContainerPadding*2// top + bottom\n;}else if(typeof largeImageContainerPadding===\"string\"){// Handle \"10px\", \"10px 20px\", \"10px 20px 30px\", \"10px 20px 30px 40px\"\nconst paddings=largeImageContainerPadding.trim().split(/\\s+/).map(p=>parseFloat(p));if(paddings.length===1&&!isNaN(paddings[0])){totalPadding=paddings[0]*2;}else if(paddings.length===2&&!isNaN(paddings[0])){totalPadding=paddings[0]*2;}else if(paddings.length===3&&!isNaN(paddings[0])&&!isNaN(paddings[2])){totalPadding=paddings[0]+paddings[2];}else if(paddings.length>=4&&!isNaN(paddings[0])&&!isNaN(paddings[2])){totalPadding=paddings[0]+paddings[2];}}// Get border width\nlet totalBorder=0;if(largeImageContainer?.largeImageContainerBorder?.borderWidth){const borderWidth=largeImageContainer.largeImageContainerBorder.borderWidth;if(typeof borderWidth===\"object\"&&borderWidth!==null){// Handle border width object { top, bottom, left, right }\nconst top=typeof borderWidth.top===\"number\"?borderWidth.top:parseFloat(borderWidth.top)||0;const bottom=typeof borderWidth.bottom===\"number\"?borderWidth.bottom:parseFloat(borderWidth.bottom)||0;totalBorder=top+bottom;}else{totalBorder=(typeof borderWidth===\"number\"?borderWidth:parseFloat(borderWidth)||0)*2;}}const totalHeight=heightValue+totalPadding+totalBorder;return`${totalHeight}px`;};// Get layout styles based on thumbnail position\nconst getLayoutStyles=()=>{const isVertical=effectiveThumbnailPosition===\"left\"||effectiveThumbnailPosition===\"right\";// Fixed: Corrected the flexDirection mapping\nconst getFlexDirection=()=>{// If thumbnails are hidden, direction doesn't matter much but keep valid\nif(!showThumbnails)return\"column\";switch(effectiveThumbnailPosition){case\"top\":return\"column-reverse\"// thumbnails first, then slider\n;case\"bottom\":return\"column\"// slider first, then thumbnails\n;case\"left\":return\"row-reverse\"// thumbnails first, then slider\n;case\"right\":return\"row\"// slider first, then thumbnails\n;default:return\"column\";}};return{containerStyle:{width:\"100%\",display:\"flex\",flexDirection:getFlexDirection(),gap:containerGap,alignItems:isVertical?\"flex-start\":\"stretch\"},sliderWrapperStyle:{flex:isVertical&&showThumbnails?\"1\":\"none\",width:isVertical&&showThumbnails?`calc(100% - ${thumbnailWidth}px - ${containerGap}px)`:\"100%\",padding:largeImageContainerPadding,background:largeImageContainerBackground,borderRadius:largeImageContainerBorderRadius},thumbnailContainerStyle:{display:\"flex\",flexDirection:isVertical?\"column\":\"row\",gap:thumbnailGap,overflowX:isVertical?\"hidden\":\"auto\",overflowY:isVertical?\"auto\":\"hidden\",paddingBottom:isVertical?0:8,paddingRight:isVertical?8:0,maxHeight:calculateThumbnailMaxHeight(),flexShrink:0,padding:thumbnailContainerPadding,background:thumbnailContainerBackground,borderRadius:thumbnailContainerBorderRadius,justifyContent:\"flex-start\",// Hide scrollbar across all browsers if showScrollbar is false\nscrollbarWidth:showScrollbar?\"auto\":\"none\",msOverflowStyle:showScrollbar?\"auto\":\"none\",WebkitOverflowScrolling:\"touch\",// @ts-ignore - Scrollbar hiding for Webkit\n\"&::-webkit-scrollbar\":{display:showScrollbar?\"block\":\"none\"}}};};// Check if CMS gallery slot has content\nconst hasCMSGalleryConnected=cmsGallery&&Array.isArray(cmsGallery)&&cmsGallery.length>0;const layoutStyles=getLayoutStyles();return /*#__PURE__*/_jsxs(_Fragment,{children:[isCanvas&&gallerySource===\"cms\"&&hasCMSGalleryConnected&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:15,right:15,background:\"rgba(255, 0, 0, 0.8)\",color:\"white\",padding:\"6px 12px\",borderRadius:6,fontSize:14,fontWeight:500,zIndex:1e3,backdropFilter:\"blur(4px)\",border:\"1px solid rgba(187, 4, 4, 0.1)\"},children:\"📸 CMS Mode: Real images show in Preview/Live\"}),isCanvas&&gallerySource===\"override\"&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:15,right:15,background:\"rgba(76, 175, 80, 0.9)\",color:\"white\",padding:\"6px 12px\",borderRadius:6,fontSize:14,fontWeight:500,zIndex:1e3,backdropFilter:\"blur(4px)\",border:\"1px solid rgba(76, 175, 80, 0.3)\"},children:\"🔄 Mode: CMS Details - Set itemIndex variable & Set Override\"}),isCanvas&&gallerySource===\"cms\"&&!hasCMSGalleryConnected&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:15,right:15,background:\"rgba(255, 152, 0, 0.9)\",color:\"white\",padding:\"8px 14px\",borderRadius:6,fontSize:13,fontWeight:500,zIndex:1e3,backdropFilter:\"blur(4px)\",border:\"1px solid rgba(255, 152, 0, 0.3)\"},children:\"⚠️ Mode: CMS Details - Connect CMS Gallery\"}),sliderImages.length>0&&/*#__PURE__*/_jsx(\"div\",{ref:mainContainerRef,style:{width:\"100%\"},children:/*#__PURE__*/_jsxs(\"div\",{style:layoutStyles.containerStyle,children:[/*#__PURE__*/_jsx(\"div\",{style:{...layoutStyles.sliderWrapperStyle,...largeImageContainer?.largeImageContainerBorder},children:/*#__PURE__*/_jsxs(\"div\",{style:{width:largeImageWidth,height:largeImageHeight,maxHeight:\"80vh\",position:\"relative\",overflow:\"hidden\",borderRadius:largeImageBorderRadius},children:[/*#__PURE__*/_jsx(AnimatePresence,{initial:false,custom:direction,mode:\"popLayout\",children:/*#__PURE__*/_jsx(motion.div,{custom:direction,variants:slideVariants,initial:\"enter\",animate:\"center\",exit:\"exit\",transition:{duration:animationSpeed,ease:[.4,0,.2,1]},style:{position:\"absolute\",width:\"100%\",height:\"100%\",top:0,left:0},children:sliderImages[activeIndex]&&/*#__PURE__*/_jsx(\"img\",{src:sliderImages[activeIndex],alt:`Gallery image ${activeIndex+1}`,style:{width:\"100%\",height:\"100%\",objectFit:largeImageObjectFit,display:\"block\",borderRadius:largeImageBorderRadius}})},activeIndex)}),showArrows&&sliderImages.length>1&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:`${arrowPosition}px`,top:\"50%\",transform:\"translateY(-50%)\",zIndex:10},children:/*#__PURE__*/_jsx(motion.button,{onClick:handlePrevious,whileHover:{scale:arrowHoverScale,backgroundColor:arrowHoverBackgroundColor},whileTap:{scale:.9},style:{width:arrowWidth,height:arrowHeight,borderRadius:arrowBorderRadius,backgroundColor:arrowBackgroundColor,...arrowBorder,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",border:\"none\",padding:\"0\"},transition:{duration:.3},\"aria-label\":\"Previous image\",children:renderIcon(arrowType,customPrevIcon,/*#__PURE__*/_jsx(motion.svg,{width:arrowIconSize,height:arrowIconSize,viewBox:\"0 0 24 24\",fill:\"none\",stroke:arrowColor,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",whileHover:{stroke:arrowHoverColor},transition:{duration:.3},children:/*#__PURE__*/_jsx(\"polyline\",{points:\"15 18 9 12 15 6\"})}),arrowIconSize,arrowColor)})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",right:`${arrowPosition}px`,top:\"50%\",transform:\"translateY(-50%)\",zIndex:10},children:/*#__PURE__*/_jsx(motion.button,{onClick:handleNext,whileHover:{scale:arrowHoverScale,backgroundColor:arrowHoverBackgroundColor},whileTap:{scale:.9},style:{width:arrowWidth,height:arrowHeight,borderRadius:arrowBorderRadius,backgroundColor:arrowBackgroundColor,...arrowBorder,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",border:\"none\",padding:\"0\"},transition:{duration:.3},\"aria-label\":\"Next image\",children:renderIcon(arrowType,customNextIcon,/*#__PURE__*/_jsx(motion.svg,{width:arrowIconSize,height:arrowIconSize,viewBox:\"0 0 24 24\",fill:\"none\",stroke:arrowColor,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",whileHover:{stroke:arrowHoverColor},transition:{duration:.3},children:/*#__PURE__*/_jsx(\"polyline\",{points:\"9 18 15 12 9 6\"})}),arrowIconSize,arrowColor)})})]})]})}),sliderImages.length>1&&showThumbnails&&/*#__PURE__*/_jsx(\"div\",{ref:thumbnailContainerRef,style:{...layoutStyles.thumbnailContainerStyle,...thumbnailContainerBorder},children:sliderImages.map((image,index)=>{// Calculate auto-margins for safe alignment\nconst isVertical=effectiveThumbnailPosition===\"left\"||effectiveThumbnailPosition===\"right\";let margins={};const alignment=thumbnailContainerAlignment;if(alignment===\"center\"){if(index===0){margins=isVertical?{marginTop:\"auto\"}:{marginLeft:\"auto\"};}if(index===sliderImages.length-1){margins=isVertical?{marginBottom:\"auto\"}:{marginRight:\"auto\"};}}else if(alignment===\"right\"){if(index===0){margins=isVertical?{marginTop:\"auto\"}:{marginLeft:\"auto\"};}}return /*#__PURE__*/_jsx(motion.div,{ref:el=>thumbnailRefs.current[index]=el,onClick:()=>handleThumbnailClick(index),whileHover:getThumbnailHoverAnimation(),whileTap:{scale:.95},initial:false,animate:{opacity:activeIndex===index?thumbnailActiveOpacity:thumbnailInactiveOpacity,scale:1},style:{minWidth:thumbnailWidth,width:thumbnailWidth,height:thumbnailHeight,cursor:\"pointer\",overflow:\"hidden\",position:\"relative\",borderRadius:thumbnailBorderRadius,flexShrink:0,background:thumbnailBackground,padding:thumbnailPadding,...thumbnailBorder,...margins},transition:{duration:thumbnailTransitionSpeed,ease:[.4,0,.2,1]},children:/*#__PURE__*/_jsx(\"img\",{src:image,alt:`Thumbnail ${index+1}`,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}})},index);})})]})})]});}// Framer Property Controls\naddPropertyControls(CMSGallerySlider,{// Gallery Source Toggle\ngallerySource:{type:ControlType.Enum,title:\"Gallery Source\",options:[\"normal\",\"cms\",\"override\"],optionTitles:[\"Normal\",\"Detail page\",\"Blog Index\"],defaultValue:\"cms\",description:\"CMS Slot: Connect gallery slot. Normal: Use image array. Override: Uses GalleryOverride file (see instructions in itemIndex).\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},// Item Index for Override mode\nitemIndex:{type:ControlType.Number,title:\"Item Index\",defaultValue:0,min:0,step:1,description:\"Setup: 1) Create override file with included code 2) Select CMS Collection layer 3) Click + on Code Overrides 4) Choose GalleryOverride → withGalleryData. Then click + here to set Item Index variable.\",hidden:props=>props.gallerySource!==\"override\"},// CMS Gallery Section\ncmsGallery:{type:ControlType.Slot,title:\"Connect CMS Gallery\",description:\"Connect your CMS gallery component\",maxCount:1,hidden:props=>props.gallerySource!==\"cms\"},// Gallery images section\ngalleryImages:{type:ControlType.Array,title:\"Normal Gallery Images\",description:\"Connect Gallery field from CMS (array of images)\",control:{type:ControlType.Image},hidden:props=>props.gallerySource!==\"normal\"},// Gap Control\ncontainerGap:{type:ControlType.Number,title:\"Gap (Main ↔ Thumbnails)\",min:0,max:100,step:1,defaultValue:0,unit:\"px\",description:\"Space between main image and thumbnails\"},// Large Image Container Section\nlargeImageContainer:{type:ControlType.Object,title:\"Large Image Container\",controls:{largeImageContainerPadding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"10px\",description:\"Padding around the large image\"},largeImageContainerBackground:{type:ControlType.Color,title:\"Background\",defaultValue:\"transparent\",description:\"Background color of container\"},largeImageContainerBorder:{type:ControlType.Border,title:\"Border\",description:\"Border for container\",defaultValue:{borderWidth:0,borderStyle:\"solid\",borderColor:\"rgba(0, 0, 0, 0)\"}},largeImageContainerBorderRadius:{type:ControlType.BorderRadius,title:\"Border Radius\",defaultValue:\"12px\",description:\"Border radius of container wrapper\"}}},// Large Image Settings Section\nlargeImage_settings:{type:ControlType.Object,title:\"Large Image\",controls:{largeImageWidth:{type:ControlType.String,title:\"Width\",defaultValue:\"100%\",placeholder:\"100%, 500px, etc.\",description:\"Width of large image\"},largeImageHeight:{type:ControlType.String,title:\"Height\",defaultValue:\"300px\",placeholder:\"300px, 50vh, etc.\",description:\"Height of large image\"},largeImageObjectFit:{type:ControlType.Enum,title:\"Object Fit\",options:[\"cover\",\"contain\",\"fill\",\"none\",\"scale-down\"],optionTitles:[\"Cover\",\"Contain\",\"Fill\",\"None\",\"Scale Down\"],defaultValue:\"cover\",description:\"How image fits in container\"},largeImageBorderRadius:{type:ControlType.BorderRadius,title:\"Border Radius\",defaultValue:\"12px\",description:\"Border radius of the image\"},// Animation Controls\nanimationSpeed:{type:ControlType.Number,title:\"Slide Speed\",min:.2,max:2,step:.1,defaultValue:.5,unit:\"s\",description:\"Speed of slide transition\"},slideDirection:{type:ControlType.Enum,title:\"Slide Direction\",options:[\"horizontal\",\"vertical\"],optionTitles:[\"Left to Right\",\"Top to Bottom\"],defaultValue:\"horizontal\",description:\"Direction of slide animation\"},transitionType:{type:ControlType.Enum,title:\"Transition Type\",options:[\"slide\",\"fade\",\"scale\",\"slideScale\",\"slideFade\"],optionTitles:[\"Slide\",\"Fade\",\"Scale\",\"Slide + Scale\",\"Slide + Fade\"],defaultValue:\"slide\",description:\"Choose how images transition between slides\"},enableScale:{type:ControlType.Boolean,title:\"Custom Scale\",defaultValue:false,description:\"Enable custom scale control for scale-based transitions\",hidden:props=>props.largeImage_settings?.transitionType!==\"scale\"&&props.largeImage_settings?.transitionType!==\"slideScale\"},scaleAmount:{type:ControlType.Number,title:\"Scale Amount\",min:.5,max:1.5,step:.05,defaultValue:.8,description:\"Scale value for entering/exiting images\",hidden:props=>!props.largeImage_settings?.enableScale||props.largeImage_settings?.transitionType!==\"scale\"&&props.largeImage_settings?.transitionType!==\"slideScale\"},enableFade:{type:ControlType.Boolean,title:\"Custom Fade\",defaultValue:false,description:\"Enable custom opacity control for fade-based transitions\",hidden:props=>props.largeImage_settings?.transitionType!==\"fade\"&&props.largeImage_settings?.transitionType!==\"slideFade\"},fadeOpacity:{type:ControlType.Number,title:\"Fade Opacity\",min:0,max:1,step:.05,defaultValue:0,description:\"Opacity value for entering/exiting images\",hidden:props=>!props.largeImage_settings?.enableFade||props.largeImage_settings?.transitionType!==\"fade\"&&props.largeImage_settings?.transitionType!==\"slideFade\"}}},// Thumbnail Container Section\n// Thumbnails Section\nthumbnails:{type:ControlType.Object,title:\"Thumbnails\",controls:{showThumbnails:{type:ControlType.Boolean,title:\"Show Thumbnails\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",description:\"Show or hide the thumbnail navigation\"},thumbnailContainerPadding:{type:ControlType.Padding,title:\"Container Padding\",defaultValue:\"10px\",description:\"Padding around thumbnail container\"},thumbnailContainerBackground:{type:ControlType.Color,title:\"Container Bg\",defaultValue:\"transparent\",description:\"Background color of thumbnail container\"},thumbnailContainerBorder:{type:ControlType.Border,title:\"Container Border\",description:\"Border for thumbnail container\",defaultValue:{borderWidth:0,borderStyle:\"solid\",borderColor:\"rgba(0, 0, 0, 0)\"}},thumbnailContainerBorderRadius:{type:ControlType.BorderRadius,title:\"Container Radius\",defaultValue:\"12px\",description:\"Border radius of container\"},thumbnailContainerAlignment:{type:ControlType.Enum,title:\"Alignment\",options:[\"left\",\"center\",\"right\"],defaultValue:\"left\",description:\"Horizontal alignment of thumbnails\"},showScrollbar:{type:ControlType.Boolean,title:\"Scrollbar\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\",description:\"Show scrollbar for thumbnails\"},thumbnailHeight:{type:ControlType.Number,title:\"Height\",min:40,max:140,step:5,defaultValue:100,unit:\"px\"},thumbnailGap:{type:ControlType.Number,title:\"Gap\",min:4,max:100,step:1,defaultValue:15,unit:\"px\"},thumbnailPosition:{type:ControlType.Enum,title:\"Position\",options:[\"bottom\",\"top\",\"left\",\"right\"],optionTitles:[\"Bottom\",\"Top\",\"Left\",\"Right\"],defaultValue:\"bottom\",description:\"Position relative to main image. Left/Right automatically switch to Bottom on small screens.\"},responsiveBreakpoint:{type:ControlType.Number,title:\"Responsive Breakpoint\",min:320,max:1920,step:1,defaultValue:768,unit:\"px\",description:\"Screen width below which left/right thumbnails move to bottom\"},thumbnailHoverScale:{type:ControlType.Number,title:\"Hover Scale\",min:1,max:1.3,step:.05,defaultValue:1.05,description:\"Scale factor on hover\"},thumbnailHoverOpacity:{type:ControlType.Number,title:\"Hover Opacity\",min:0,max:1,step:.05,defaultValue:1,description:\"Opacity on hover (1 = fully opaque)\"},thumbnailActiveOpacity:{type:ControlType.Number,title:\"Active Opacity\",min:0,max:1,step:.05,defaultValue:1,description:\"Opacity of the active/selected thumbnail\"},thumbnailInactiveOpacity:{type:ControlType.Number,title:\"Inactive Opacity\",min:0,max:1,step:.05,defaultValue:.5,description:\"Opacity of inactive/unselected thumbnails\"},thumbnailTransitionSpeed:{type:ControlType.Number,title:\"Transition Speed\",min:.1,max:1,step:.05,defaultValue:.3,unit:\"s\",description:\"Speed of hover animations\"},thumbnailAnimationType:{type:ControlType.Enum,title:\"Animation Type\",options:[\"scale\",\"lift\",\"glow\",\"scaleAndLift\"],optionTitles:[\"Scale\",\"Lift\",\"Glow\",\"Scale + Lift\"],defaultValue:\"scale\",description:\"Hover animation effect\"},// Individual Thumbnail Styling\nthumbnailBackground:{type:ControlType.Color,title:\"Background\",defaultValue:\"transparent\",description:\"Background color for each thumbnail\"},thumbnailPadding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"0px\",description:\"Padding inside each thumbnail\"},thumbnailBorder:{type:ControlType.Border,title:\"Border\",description:\"Border for each thumbnail\",defaultValue:{borderWidth:3,borderStyle:\"solid\",borderColor:\"#fff\"}},thumbnailBorderRadius:{type:ControlType.BorderRadius,title:\"Border Radius\",description:\"Border radius for thumbnails\",defaultValue:\"12px\"}}},// Arrow Controls Section\narrows:{type:ControlType.Object,title:\"Arrows\",description:\"Powered by [FramerHub](https://framerhub.io)\",controls:{showArrows:{type:ControlType.Boolean,title:\"Show Arrows\",defaultValue:true,description:\"Show navigation arrows on the slider \"},arrowWidth:{type:ControlType.Number,title:\"Button Width\",min:24,max:100,step:2,defaultValue:40,unit:\"px\",description:\"Width of arrow button container\",hidden:props=>!props?.showArrows},arrowHeight:{type:ControlType.Number,title:\"Button Height\",min:24,max:100,step:2,defaultValue:40,unit:\"px\",description:\"Height of arrow button container\",hidden:props=>!props?.showArrows},arrowIconSize:{type:ControlType.Number,title:\"Icon Size\",min:8,max:80,step:1,defaultValue:20,unit:\"px\",description:\"Size of icon/image inside the button (independent of button size)\",hidden:props=>!props?.showArrows},arrowPosition:{type:ControlType.Number,title:\"Position\",min:0,max:100,step:1,defaultValue:10,unit:\"px\",description:\"Distance from edge (left/right for horizontal, top/bottom for vertical)\",hidden:props=>!props?.showArrows},arrowColor:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#ffffff\",description:\"Color of arrow icons\",hidden:props=>!props?.showArrows},arrowBackgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0, 0, 0, 0.5)\",description:\"Background color of arrow buttons\",hidden:props=>!props?.showArrows},arrowBorder:{type:ControlType.Border,title:\"Border\",description:\"Border for arrow buttons\",defaultValue:{borderWidth:0,borderStyle:\"solid\",borderColor:\"transparent\"},hidden:props=>!props?.showArrows},arrowBorderRadius:{type:ControlType.Number,title:\"Border Radius\",min:0,max:100,step:1,defaultValue:50,unit:\"px\",description:\"Border radius (50 = circle)\",hidden:props=>!props?.showArrows},// Custom Icon Section\narrowType:{type:ControlType.Enum,title:\"Icon Type\",options:[\"Default\",\"Custom\"],optionTitles:[\"Default\",\"Custom SVG/Image\"],defaultValue:\"Default\",description:\"Upload custom arrow images or paste SVG code\",hidden:props=>!props?.showArrows},customPrevIcon:{type:ControlType.String,title:\"Prev Icon\",defaultValue:\"\",description:\"Paste SVG code or Image URL\",displayTextArea:true,hidden:props=>!props?.showArrows||props?.arrowType===\"Default\"},customNextIcon:{type:ControlType.String,title:\"Next Icon\",defaultValue:\"\",description:\"Paste SVG code or Image URL\",displayTextArea:true,hidden:props=>!props?.showArrows||props?.arrowType===\"Default\"},// Hover Effects\narrowHoverScale:{type:ControlType.Number,title:\"Hover Scale\",min:1,max:1.5,step:.05,defaultValue:1.1,description:\"Scale factor on hover\",hidden:props=>!props?.showArrows},arrowHoverBackgroundColor:{type:ControlType.Color,title:\"Hover Background\",defaultValue:\"rgba(0, 0, 0, 0.7)\",description:\"Background color on hover\",hidden:props=>!props?.showArrows},arrowHoverColor:{type:ControlType.Color,title:\"Hover Icon Color\",defaultValue:\"#ffffff\",description:\"Icon color on hover. \",hidden:props=>!props?.showArrows||props?.useCustomIcon}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CMSGallerySlider\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"400\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CMSGallerySlider.map","// Generated by Framer (2b843ce)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"Inter-SemiBold\",\"Inter-Bold\",\"Inter-BoldItalic\",\"Inter-SemiBoldItalic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/hyOgCu0Xnghbimh0pE8QTvtt2AU.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/NeGmSOXrPBfEFIy5YZeHq17LEDA.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/oYaAX5himiTPYuN8vLWnqBbfD2s.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/lEJLP4R0yuCaMCjSXYHtJw72M.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/cRJyLNuTJR5jbyKzGi33wU9cqIQ.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/yDtI2UI8XcEg1W2je9XPN3Noo.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/A0Wcc7NgXMjUuFdquHDrIZpzZw0.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/syRNPWzAMIrcJ3wIlPIP43KjQs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/ia3uin3hQWqDrVloC1zEtYHWw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/vxBnBhH8768IFAXAb4Qf6wQHKs.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/zSsEuoJdh8mcFVk976C05ZfQr8.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/b8ezwLrN7h2AUoPEENcsTMVJ0.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/mvNEIBLyHbscgHtwfsByjXUz3XY.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/6FI2EneKzM3qBy5foOZXey7coCA.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/fuyXZpVvOjq8NesCOfgirHCWyg.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/NHHeAKJVP0ZWHk5YZnQQChIsBM.woff2\",weight:\"600\"}]}];export const css=['.framer-Ct2tg .framer-styles-preset-1qappj3:not(.rich-text-wrapper), .framer-Ct2tg .framer-styles-preset-1qappj3.rich-text-wrapper h1 { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 148px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 600; --framer-letter-spacing: -0.06em; --framer-line-height: 96%; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #ffffff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-Ct2tg .framer-styles-preset-1qappj3:not(.rich-text-wrapper), .framer-Ct2tg .framer-styles-preset-1qappj3.rich-text-wrapper h1 { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 118px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 600; --framer-letter-spacing: -0.06em; --framer-line-height: 96%; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #ffffff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-Ct2tg .framer-styles-preset-1qappj3:not(.rich-text-wrapper), .framer-Ct2tg .framer-styles-preset-1qappj3.rich-text-wrapper h1 { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 64px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 600; --framer-letter-spacing: -0.06em; --framer-line-height: 96%; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #ffffff; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-Ct2tg\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}