{"version":3,"file":"Bookmark.DcUdkdfa.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/5MJB32iM4yc2dwH98tf4/PHM8tIxUQNdszvg3jTBh/Bookmark.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useEffect}from\"react\";const STORAGE_KEY=\"framer-bookmarks\";function getBookmarks(){try{const raw=localStorage.getItem(STORAGE_KEY);return raw?JSON.parse(raw):[];}catch{return[];}}function setBookmarks(bookmarks){localStorage.setItem(STORAGE_KEY,JSON.stringify(bookmarks));window.dispatchEvent(new Event(\"bookmarks-updated\"));}/**\n * BookmarkButton\n * À placer sur chaque carte/item CMS. Connecte la prop \"Slug\"\n * au champ Slug de la collection Framer.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n */export default function BookmarkButton(props){const{slug,activeColor,inactiveColor,size,iconStyle,style}=props;const[isBookmarked,setIsBookmarked]=useState(false);useEffect(()=>{const update=()=>setIsBookmarked(getBookmarks().includes(slug));update();window.addEventListener(\"bookmarks-updated\",update);window.addEventListener(\"storage\",update);return()=>{window.removeEventListener(\"bookmarks-updated\",update);window.removeEventListener(\"storage\",update);};},[slug]);function toggle(e){e.stopPropagation();e.preventDefault();if(!slug)return;const current=getBookmarks();const next=current.includes(slug)?current.filter(s=>s!==slug):[...current,slug];setBookmarks(next);}return /*#__PURE__*/_jsx(\"div\",{onClick:toggle,style:{...style,width:size,height:size,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\"},children:/*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:isBookmarked?activeColor:\"none\",stroke:isBookmarked?activeColor:inactiveColor,strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\",children:iconStyle===\"heart\"?/*#__PURE__*/_jsx(\"path\",{d:\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"}):/*#__PURE__*/_jsx(\"path\",{d:\"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z\"})})});}BookmarkButton.defaultProps={slug:\"\",activeColor:\"#FF3B30\",inactiveColor:\"#999999\",size:24,iconStyle:\"heart\"};addPropertyControls(BookmarkButton,{slug:{type:ControlType.String,title:\"Slug\",defaultValue:\"\",description:\"Connecte ceci au champ Slug de ton item CMS\"},iconStyle:{type:ControlType.Enum,title:\"Ic\\xf4ne\",options:[\"heart\",\"bookmark\"],optionTitles:[\"Cœur\",\"Bookmark\"],defaultValue:\"heart\"},activeColor:{type:ControlType.Color,title:\"Couleur active\",defaultValue:\"#FF3B30\"},inactiveColor:{type:ControlType.Color,title:\"Couleur inactive\",defaultValue:\"#999999\"},size:{type:ControlType.Number,title:\"Taille\",defaultValue:24,min:12,max:64,step:1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BookmarkButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"24\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Bookmark.map"],"mappings":"gMAA0K,SAAS,GAAc,CAAC,GAAG,CAAC,IAAM,EAAI,aAAa,QAAQ,CAAW,EAAE,OAAO,EAAI,KAAK,MAAM,CAAG,EAAE,CAAC,CAAE,MAAM,CAAC,MAAM,CAAC,CAAE,CAAC,CAAC,SAAS,EAAa,EAAU,CAAC,aAAa,QAAQ,EAAY,KAAK,UAAU,CAAS,CAAC,EAAE,EAAO,cAAc,IAAI,MAAM,mBAAmB,CAAC,CAAE,CASjb,SAAwB,EAAe,EAAM,CAAC,GAAK,CAAC,OAAK,cAAY,gBAAc,OAAK,YAAU,SAAO,EAAW,CAAC,EAAa,GAAiBA,EAAS,EAAK,EAAE,MAAc,CAAC,IAAM,MAAW,EAAgB,EAAa,CAAC,CAAC,SAAS,CAAI,CAAC,EAAyG,OAAvG,EAAO,EAAE,EAAO,iBAAiB,oBAAoB,CAAM,EAAE,EAAO,iBAAiB,UAAU,CAAM,MAAY,CAAC,EAAO,oBAAoB,oBAAoB,CAAM,EAAE,EAAO,oBAAoB,UAAU,CAAM,CAAE,CAAE,EAAE,CAAC,CAAI,CAAC,EAAE,SAAS,EAAO,EAAE,CAAwC,GAAvC,EAAE,gBAAgB,EAAE,EAAE,eAAe,EAAK,CAAC,EAAK,OAAO,IAAM,EAAQ,EAAa,EAAkF,EAArE,EAAQ,SAAS,CAAI,EAAE,EAAQ,OAAO,GAAG,IAAI,CAAI,EAAE,CAAC,GAAG,EAAQ,CAAI,CAAmB,CAAE,CAAC,OAAoB,EAAK,MAAM,CAAC,QAAQ,EAAO,MAAM,CAAC,GAAG,EAAM,MAAM,EAAK,OAAO,EAAK,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,OAAO,SAAS,EAAE,SAAsB,EAAK,MAAM,CAAC,MAAM,EAAK,OAAO,EAAK,QAAQ,YAAY,KAAK,EAAa,EAAY,OAAO,OAAO,EAAa,EAAY,EAAc,YAAY,EAAE,cAAc,QAAQ,eAAe,QAAQ,SAAS,IAAY,QAAqB,EAAK,OAAO,CAAC,EAAE,0IAA0I,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,mDAAmD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,uBATlxC,IAAoD,IAAsC,EAAO,EAAY,mBASsqC,EAAe,aAAa,CAAC,KAAK,GAAG,YAAY,UAAU,cAAc,UAAU,KAAK,GAAG,UAAU,OAAO,EAAE,EAAoB,EAAe,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,GAAG,YAAY,6CAA6C,EAAE,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,QAAW,QAAQ,CAAC,QAAQ,UAAU,EAAE,aAAa,CAAC,OAAO,UAAU,EAAE,aAAa,OAAO,EAAE,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,iBAAiB,aAAa,SAAS,EAAE,cAAc,CAAC,KAAK,EAAY,MAAM,MAAM,mBAAmB,aAAa,SAAS,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC"}