{"version":3,"file":"RandomBlogSuggestions.BJSrg7v5.mjs","names":["React.useState","React.useRef","React.useCallback","React.useMemo"],"sources":["https:/framerusercontent.com/modules/YlCHfr8fThufA9q2ztMT/zp5hPTr3zbrHzQQr6ebd/RandomBlogSuggestions.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";function getImageSrc(image){if(!image)return\"\";if(typeof image===\"string\")return image;return image.src??\"\";}function getCurrentBlogSlug(){if(typeof window===\"undefined\")return\"\";const parts=window.location.pathname.split(\"/\").filter(Boolean);if(parts.length>=2&&parts[0]===\"blogs\")return parts[1];return parts[parts.length-1]??\"\";}function formatBlogDate(dateValue){const date=new Date(dateValue);if(Number.isNaN(date.getTime()))return dateValue;return new Intl.DateTimeFormat(\"en-US\",{year:\"numeric\",month:\"short\",day:\"2-digit\"}).format(date);}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function RandomBlogSuggestions(props){const{posts=[],displayMode=\"Grid\",layoutMode=\"Auto\",cardCount=2,stackWidth=\"100%\",stackHeight=\"auto\",cardWidth=\"auto\",cardHeight=\"auto\",cardSpacing=-1,imageRadius=14,gap=40,titleColor=\"#000000\",dateColor=\"#CCCCCC\",titleFont,dateFont,style}=props;const isStatic=useIsStaticRenderer();const[currentSlug,setCurrentSlug]=React.useState(\"\");const[selectedPosts,setSelectedPosts]=React.useState([]);const[isNarrowWindow,setIsNarrowWindow]=React.useState(false);const[containerWidth,setContainerWidth]=React.useState(null);const containerRef=React.useRef(null);const shufflePosts=React.useCallback(input=>{const copy=[...input];for(let i=copy.length-1;i>0;i--){const j=Math.floor(Math.random()*(i+1));const temp=copy[i];copy[i]=copy[j];copy[j]=temp;}return copy;},[]);const eligiblePosts=React.useMemo(()=>{const normalized=posts.filter(post=>Boolean(post?.slug&&post?.title));const desiredCount=Math.max(1,Math.min(cardCount,normalized.length));const withoutCurrent=normalized.filter(post=>post.slug!==currentSlug);return withoutCurrent.length>=desiredCount?withoutCurrent:normalized;},[posts,currentSlug,cardCount]);React.useEffect(()=>{if(typeof window!==\"undefined\"){React.startTransition(()=>setCurrentSlug(getCurrentBlogSlug()));React.startTransition(()=>setIsNarrowWindow(window.innerWidth<768));}else{React.startTransition(()=>setCurrentSlug(\"\"));React.startTransition(()=>setIsNarrowWindow(false));}},[]);React.useEffect(()=>{if(typeof window===\"undefined\")return;const onResize=()=>{React.startTransition(()=>setIsNarrowWindow(window.innerWidth<768));};window.addEventListener(\"resize\",onResize);return()=>window.removeEventListener(\"resize\",onResize);},[]);React.useEffect(()=>{if(typeof window===\"undefined\")return;const element=containerRef.current;if(!element)return;const updateWidth=()=>{React.startTransition(()=>setContainerWidth(element.getBoundingClientRect().width));};updateWidth();if(typeof ResizeObserver!==\"undefined\"){const observer=new ResizeObserver(()=>{updateWidth();});observer.observe(element);return()=>observer.disconnect();}window.addEventListener(\"resize\",updateWidth);return()=>window.removeEventListener(\"resize\",updateWidth);},[]);React.useEffect(()=>{const safeCardCount=Math.max(1,Math.min(6,cardCount));const next=isStatic?eligiblePosts.slice(0,safeCardCount):shufflePosts(eligiblePosts).slice(0,safeCardCount);React.startTransition(()=>setSelectedPosts(next));},[eligiblePosts,isStatic,shufflePosts,cardCount]);const isNarrowAuto=React.useMemo(()=>{if(containerWidth!==null)return containerWidth<768;return isNarrowWindow;},[containerWidth,isNarrowWindow]);const isSingleColumn=React.useMemo(()=>{if(layoutMode===\"Vertical\")return true;if(layoutMode===\"Horizontal\")return false;return isNarrowAuto;},[layoutMode,isNarrowAuto]);const activeSpacing=cardSpacing>=0?cardSpacing:gap;const computedGap=isSingleColumn?Math.max(12,Math.round(activeSpacing*.5)):activeSpacing;const carouselCardWidth=React.useMemo(()=>{if(cardWidth!==\"auto\")return cardWidth;if(containerWidth!==null&&containerWidth<768)return\"86%\";if(containerWidth!==null){const desktopWidth=Math.max(280,Math.min(420,containerWidth*.45));return`${Math.round(desktopWidth)}px`;}return\"86%\";},[cardWidth,containerWidth]);const renderCard=React.useCallback((post,carousel=false)=>/*#__PURE__*/_jsxs(\"a\",{href:`/blogs/${post.slug}`,style:{display:\"flex\",flexDirection:\"column\",gap:10,textDecoration:\"none\",color:\"inherit\",minWidth:0,...carousel?{flex:\"0 0 auto\",width:carouselCardWidth,scrollSnapAlign:\"start\"}:{width:cardWidth===\"auto\"?\"100%\":cardWidth},height:cardHeight===\"auto\"?\"auto\":cardHeight},\"aria-label\":`Read blog post: ${post.title}`,children:[/*#__PURE__*/_jsx(\"img\",{src:getImageSrc(post.image),alt:post.imageAlt||post.title,style:{width:\"100%\",height:220,objectFit:\"cover\",borderRadius:imageRadius,display:\"block\",background:\"#F5F5F5\"}}),/*#__PURE__*/_jsx(\"div\",{style:{color:titleColor,fontFamily:titleFont?.fontFamily??\"Inter, Satoshi, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\",fontSize:titleFont?.fontSize??\"22px\",lineHeight:titleFont?.lineHeight??\"1.2em\",letterSpacing:titleFont?.letterSpacing??\"-0.01em\",fontWeight:titleFont?.fontWeight??600,fontStyle:titleFont?.fontStyle??\"normal\"},children:post.title}),/*#__PURE__*/_jsx(\"div\",{style:{color:dateColor,fontFamily:dateFont?.fontFamily??\"Inter, Satoshi, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\",fontSize:dateFont?.fontSize??\"12px\",lineHeight:dateFont?.lineHeight??\"1.3em\",letterSpacing:dateFont?.letterSpacing??\"0em\",fontWeight:dateFont?.fontWeight??500,fontStyle:dateFont?.fontStyle??\"normal\"},children:formatBlogDate(post.date)})]},post.slug),[carouselCardWidth,dateColor,dateFont,imageRadius,titleColor,titleFont]);return /*#__PURE__*/_jsx(\"section\",{ref:containerRef,style:{position:\"relative\",width:stackWidth,height:stackHeight,background:\"transparent\",...style},children:displayMode===\"Carousel\"?/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",width:stackWidth===\"auto\"?\"100%\":stackWidth,gap:computedGap,overflowX:\"auto\",overflowY:\"hidden\",scrollSnapType:\"x mandatory\",WebkitOverflowScrolling:\"touch\",scrollbarWidth:\"none\",msOverflowStyle:\"none\",paddingBottom:2},children:selectedPosts.map(post=>renderCard(post,true))}):/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",width:stackWidth===\"auto\"?\"100%\":stackWidth,gridTemplateColumns:isSingleColumn?\"1fr\":\"repeat(2, minmax(0, 1fr))\",gap:computedGap},children:selectedPosts.map(post=>renderCard(post))})});}addPropertyControls(RandomBlogSuggestions,{posts:{type:ControlType.Array,title:\"Posts\",control:{type:ControlType.Object,controls:{title:{type:ControlType.String,defaultValue:\"Blog title\"},slug:{type:ControlType.String,defaultValue:\"blog-slug\"},date:{type:ControlType.Date,displayTime:false},image:{type:ControlType.String,title:\"Image URL\",defaultValue:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\"},imageAlt:{type:ControlType.String,defaultValue:\"\"}}},defaultValue:[{title:\"What is Calacatta Quartz: A Simple Guide\",slug:\"what-is-calacatta-quartz-a-simple-guide\",date:\"2025-02-17T00:00:00.000Z\",image:\"https://framerusercontent.com/images/zxYX5AFNp9mqqCcuUUX13HxDEcw.jpg\",imageAlt:\"Unlike natural marble, which can stain or scratch easily, Calacatta Quartz is strong, durable, and resistant to stains, scratches, and heat.\"},{title:\"How to Care for Cambria Quartz Countertops\",slug:\"how-to-care-for-cambria-quartz-countertops\",date:\"2025-02-14T00:00:00.000Z\",image:\"https://framerusercontent.com/images/pAOfVVEwVh1M2MI6pNZakW7x17o.jpg\",imageAlt:\"Cambria quartz countertops are strong, stylish, and easy to clean. They do not stain easily and do not need sealing like other stones.\"},{title:\"How to Take Care of Quartz Countertops in 2025\",slug:\"how-to-take-care-of-quartz-countertops-in-2025\",date:\"2025-02-10T00:00:00.000Z\",image:\"https://framerusercontent.com/images/bEs0GXG4tztj3JgNaAHkexy2nUM.jpg\",imageAlt:\"Quartz countertops are strong and beautiful, but they need proper care to stay in good condition.\"},{title:\"How to Choose Marble for Kitchen Countertops\",slug:\"how-to-choose-marble-for-kitchen-countertops\",date:\"2025-02-07T00:00:00.000Z\",image:\"https://framerusercontent.com/images/PhdS3GvrshGSKDjBwJlq5l1SQM.jpg\",imageAlt:\"Marble is a popular choice for Kitchen Countertops because it looks stylish and elegant. But picking the right marble is not just about choosing a pretty design.\"},{title:\"How to Pick the Right Countertop Material\",slug:\"how-to-pick-the-right-countertop-material\",date:\"2025-02-03T00:00:00.000Z\",image:\"https://framerusercontent.com/images/YK00IcgK77H4fKdrqmtldZfdt4.jpg\",imageAlt:\"Choosing the right Countertop for your kitchen or bathroom is important. It affects how your space looks and how easy it is to use and clean.\"},{title:\"How to Clean Marble for 2025: A Full Guide\",slug:\"how-to-clean-marble-for-2025-a-full-guide\",date:\"2025-01-31T00:00:00.000Z\",image:\"https://framerusercontent.com/images/ej1KHJRlNlLLO1Qs1xBBQThCdt4.jpg\",imageAlt:\"Cleaning Marble can be easy if done right. Start by wiping down the surface with a soft cloth to remove any dust or dirt.\"},{title:\"How to Remove Stains from Granite Stone in 2025\",slug:\"how-to-remove-stains-from-granite-stone-in-2025\",date:\"2025-01-27T00:00:00.000Z\",image:\"https://framerusercontent.com/images/QFaVEAv8xBo0BoOGmvfzuPrBYU.jpg\",imageAlt:\"Granite is a strong and beautiful material often used for countertops and floors. But sometimes, stains can appear and make it look dull.\"},{title:\"What Is the Best Way to Clean Quartz Countertops in 2025\",slug:\"what-is-the-best-way-to-clean-quartz-countertops-in-2025\",date:\"2025-01-24T00:00:00.000Z\",image:\"https://framerusercontent.com/images/Bkm7b10WsZnK6VHIVv4NbbEm9ps.jpg\",imageAlt:\"\"},{title:\"How Thick Are Kitchen Marble Countertops for 2025?\",slug:\"how-thick-are-kitchen-marble-countertops-for-2025\",date:\"2025-01-21T00:00:00.000Z\",image:\"https://framerusercontent.com/images/GeYZt3eplnbxKUlP1WDefum5I.jpg\",imageAlt:\"One important choice is selecting the right Kitchen Countertops. Marble countertops are a popular pick because they are beautiful and strong.\"},{title:\"Best Countertop Materials for Your Kitchen in 2025\",slug:\"best-countertop-materials-for-your-kitchen-in-2025\",date:\"2025-01-17T00:00:00.000Z\",image:\"https://framerusercontent.com/images/3ZJX7eP51pFPuDAuyplb1yX0d4.jpg\",imageAlt:\"\"},{title:\"How to Create a Marble Finish Effect on Plaster\",slug:\"how-to-create-a-marble-finish-effect-on-plaster\",date:\"2025-01-13T00:00:00.000Z\",image:\"https://framerusercontent.com/images/vFPSdGLNOAMNuSnkfkujkFIfclg.jpg\",imageAlt:\"Making a Marble finish on plaster is a great way to give your home a stylish and elegant look without spending too much.\"},{title:\"How to Clean Granite Countertops for 2025: A Full Guide\",slug:\"how-to-clean-granite-countertops-for-2025-a-full-guide\",date:\"2025-01-10T00:00:00.000Z\",image:\"https://framerusercontent.com/images/EZh71rOxveGyTuR3VgZ3cisk2SM.jpg\",imageAlt:\"\"},{title:\"Black Panda Quartz Countertops: A Stylish Home Upgrade\",slug:\"black-panda-quartz-countertops-a-stylish-home-upgrade\",date:\"2025-01-06T00:00:00.000Z\",image:\"https://framerusercontent.com/images/sYcMy7OUe3xFxbbjXCGbZ1sWg.jpg\",imageAlt:\"Upgrading your home can be exciting, especially when choosing materials that look great and last long.\"},{title:\"How to Maintain Your Quartz Countertops for Long-Lasting Beauty\",slug:\"how-to-maintain-your-quartz-countertops-for-long-lasting-beauty\",date:\"2025-01-04T00:00:00.000Z\",image:\"https://framerusercontent.com/images/7iYFqD3ma7xpD8ttRMNMcyQQoA.jpg\",imageAlt:\"\"},{title:\"How Rumble Stones Can Elevate Your Home’s Outdoor Aesthetic\",slug:\"how-rumble-stones-can-elevate-your-home-s-outdoor-aesthetic\",date:\"2024-12-30T00:00:00.000Z\",image:\"https://framerusercontent.com/images/BYmKwIAymcHldeXf1EJY5zCQ.jpg\",imageAlt:\"\"},{title:\"How Tessa Precision Delivers Accuracy and Excellence\",slug:\"how-tessa-precision-delivers-accuracy-and-excellence\",date:\"2024-12-27T00:00:00.000Z\",image:\"https://framerusercontent.com/images/khBcSofLBJd5zpyyTSxOmnqqDoE.jpeg\",imageAlt:\"\"},{title:\"Stone World Farmingdale: High-Quality Stones for Any Space\",slug:\"stone-world-farmingdale-high-quality-stones-for-any-space\",date:\"2024-12-23T00:00:00.000Z\",image:\"https://framerusercontent.com/images/sSxLIqIJ9vnsiAoDmeYFON5GDis.jpg\",imageAlt:\"When it comes to transforming your home or office with beautiful and durable surfaces, Stone World Farmingdale, NY is a top choice.\"},{title:\"How Tessa Precision Products Deliver Accuracy and Reliability\",slug:\"how-tessa-precision-products-deliver-accuracy-and-reliability\",date:\"2024-12-20T00:00:00.000Z\",image:\"https://framerusercontent.com/images/hS3QZg9nPdR2sEq53uCSRxpPpY.jpg\",imageAlt:\"Precision manufacturing requires accuracy and dependability that cannot be compromised.\"},{title:\"How Gray Patina Enhances Both Rustic and Contemporary Aesthetics\",slug:\"how-gray-patina-enhances-both-rustic-and-contemporary-aesthetics\",date:\"2024-12-16T00:00:00.000Z\",image:\"https://framerusercontent.com/images/1Vj6uzPgftjqImsffdHbpV6Jng.jpg\",imageAlt:\"\"},{title:\"How to Incorporate Calacatta Quartz with Blue Veins in Modern Kitchens\",slug:\"how-to-incorporate-calacatta-quartz-with-blue-veins-in-modern-kitchens\",date:\"2024-12-13T00:00:00.000Z\",image:\"https://framerusercontent.com/images/mN4ioRy4oPkMTQM2906OL7c8QkQ.jpg\",imageAlt:\"\"},{title:\"What is the Best Material for Countertops in 2025?\",slug:\"what-is-the-best-material-for-countertops-in-2025\",date:\"2024-12-09T00:00:00.000Z\",image:\"https://framerusercontent.com/images/731YaEF6AwdHi3wuM1nsiS7UQXg.jpg\",imageAlt:\"Picking the right countertop material is an important step when updating your kitchen or bathroom.\"},{title:\"How to Identify Rocks and Stones: A Full Guide for Beginners\",slug:\"how-to-identify-rocks-and-stones-a-full-guide-for-beginners\",date:\"2024-12-06T00:00:00.000Z\",image:\"https://framerusercontent.com/images/gNIizfK0m4MJ77WfuqmWTY1DCg.jpg\",imageAlt:\"\"},{title:\"How to Use Elite Stones for Sophisticated Interior Design\",slug:\"how-to-use-elite-stones-for-sophisticated-interior-design\",date:\"2024-12-03T00:00:00.000Z\",image:\"https://framerusercontent.com/images/Z4gUM6ahIG74g7JjzTayrZNhTdQ.jpg\",imageAlt:\"Elite stones are a great way to make your home or office look stylish and classy. They add a natural and beautiful sense to any environment.\"},{title:\"How Breton Quartz Brings Style and Strength to Your Kitchen Surfaces\",slug:\"how-breton-quartz-brings-style-and-strength-to-your-kitchen-surfaces\",date:\"2024-11-29T00:00:00.000Z\",image:\"https://framerusercontent.com/images/aXXAyTsT57IElTp6seGe39oZ0.jpg\",imageAlt:\"When it comes to choosing the perfect material for your kitchen surfaces, Breton Quartz stands out as a top choice.\"},{title:\"How Patina Grey Brings Depth and Style to Any Space\",slug:\"how-patina-grey-brings-depth-and-style-to-any-space\",date:\"2024-11-26T00:00:00.000Z\",image:\"https://framerusercontent.com/images/37AuvMbim59dUI0SPU2BqeI0pg.jpg\",imageAlt:\"Choosing the right color for your interiors can transform a dull space into one that feels inviting, sophisticated, and timeless. One shade that has been gaining popularity is Patina Grey.\"},{title:\"What Are the Benefits of Quartz Countertops in Farmingdale?\",slug:\"what-are-the-benefits-of-quartz-countertops-in-farmingdale\",date:\"2024-11-22T00:00:00.000Z\",image:\"https://framerusercontent.com/images/GwscWBcRaECmKPIwlFENdQeFsN8.jpg\",imageAlt:\"If you’re planning to upgrade your kitchen or bathroom with Quartz Countertops Farmingdale is a great option to consider.\"},{title:\"What Are the Benefits of Installing Quartz Countertops?\",slug:\"what-are-the-benefits-of-installing-quartz-countertops\",date:\"2024-11-18T00:00:00.000Z\",image:\"https://framerusercontent.com/images/UpWDl9r64fr4O4sWhKyMYUOWAIU.jpg\",imageAlt:\"Choosing the right countertop is an important step when designing or renovating your kitchen or bathroom. Quartz Countertops are a popular choice for many homeowners because they are strong, stylish, and practical.\"},{title:\"Rumble Stones: A Guide to Their Uses and Benefits for Your Kitchen\",slug:\"rumble-stones-a-guide-to-their-uses-and-benefits-for-your-kitchen\",date:\"2024-11-15T00:00:00.000Z\",image:\"https://framerusercontent.com/images/pgYbBsRPPfVWOH4WiJTefVV482I.png\",imageAlt:\"Rumble Stones: A Guide to Their Uses and Benefits for Your Kitchen\"},{title:\"The Beauty of Patina Grey: A Guide to Colorful Living\",slug:\"the-beauty-of-patina-grey-a-guide-to-colorful-living\",date:\"2024-11-11T00:00:00.000Z\",image:\"https://framerusercontent.com/images/sdyMW0yPxJXbWoEClfU8brbN8.jpg\",imageAlt:\"In this guide, you’ll learn how Patina Grey can brighten up your home in subtle but powerful ways.\"},{title:\"Top Modern Quartz Kitchen Countertop Designs in New York for 2025\",slug:\"top-modern-quartz-kitchen-countertop-designs-in-new-york-for-2025\",date:\"2024-11-07T00:00:00.000Z\",image:\"https://framerusercontent.com/images/OP7CX7K670lFfYdIYqdhAHYV8.jpg\",imageAlt:\"\"},{title:\"A Simple Guide to Choosing the Right Quartz Countertop for Your Home\",slug:\"a-simple-guide-to-choosing-the-right-quartz-countertop-for-our-home\",date:\"2024-11-06T00:00:00.000Z\",image:\"https://framerusercontent.com/images/pCQqkMkHqthpAGYFbcCW8bxT4.jpg\",imageAlt:\"\"}]},displayMode:{type:ControlType.Enum,title:\"Display\",defaultValue:\"Grid\",options:[\"Grid\",\"Carousel\"]},stackWidth:{type:ControlType.String,title:\"Stack Width\",defaultValue:\"100%\"},stackHeight:{type:ControlType.String,title:\"Stack Height\",defaultValue:\"auto\"},cardWidth:{type:ControlType.String,title:\"Card Width\",defaultValue:\"auto\"},cardHeight:{type:ControlType.String,title:\"Card Height\",defaultValue:\"auto\"},cardSpacing:{type:ControlType.Number,title:\"Card Spacing\",defaultValue:-1,min:-1,max:160,step:1,unit:\"px\"},layoutMode:{type:ControlType.Enum,title:\"Layout\",defaultValue:\"Auto\",options:[\"Auto\",\"Horizontal\",\"Vertical\"]},cardCount:{type:ControlType.Number,title:\"Card Count\",defaultValue:2,min:1,max:6,step:1},imageRadius:{type:ControlType.Number,title:\"Image Radius\",defaultValue:14,min:0,max:48,step:1,unit:\"px\"},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:40,min:0,max:120,step:1,unit:\"px\"},titleColor:{type:ControlType.Color,title:\"Title Color\",defaultValue:\"#000000\"},dateColor:{type:ControlType.Color,title:\"Date Color\",defaultValue:\"#CCCCCC\"},titleFont:{type:ControlType.Font,title:\"Title Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"22px\",lineHeight:\"1.2em\",letterSpacing:\"-0.01em\",variant:\"Semibold\"}},dateFont:{type:ControlType.Font,title:\"Date Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"12px\",lineHeight:\"1.3em\",letterSpacing:\"0em\",variant:\"Medium\"}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RandomBlogSuggestions\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RandomBlogSuggestions.map"],"mappings":"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"}