{"version":3,"file":"BookmarkButton.DVs9YUJs.mjs","names":["_Fragment"],"sources":["https:/framerusercontent.com/modules/JOYiSz5KShilsQeHKEBu/rl4Qo7OVfMuhtNabCkPI/BookmarkButton.js"],"sourcesContent":["// Recreate this component exactly as is: BookmarkButton with Supabase integration\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";let cachedClient=null;let cachedKey=\"\";function getSupabaseClient(supabaseUrl,supabaseAnonKey){const key=`${supabaseUrl}|${supabaseAnonKey}`;if(cachedClient&&cachedKey===key)return cachedClient;if(typeof window!==\"undefined\"&&window.supabase&&window.supabase.createClient){cachedClient=window.supabase.createClient(supabaseUrl,supabaseAnonKey);cachedKey=key;return cachedClient;}return null;}function HeartIcon(props){const{filled,customIcons,size,color}=props;if(customIcons){if(customIcons.type==\"svg\"){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{className:\"superfields-social-share-icon\",style:{width:size,height:size,opacity:customIcons.opacity,color:color,pointerEvents:\"none\"},dangerouslySetInnerHTML:{__html:(filled?customIcons.svgOn:customIcons.svgOff).replace(/width=\"(\\d+)\"/,`width=\"${size}\"`).replace(/height=\"(\\d+)\"/,`height=\"${size}\"`)}}),/*#__PURE__*/_jsx(\"style\",{children:`.superfields-social-share-icon svg { display: block; }`})]});}else if(customIcons.type==\"image\"){return /*#__PURE__*/_jsx(\"img\",{src:filled?customIcons.imageOn?.src:customIcons.imageOff?.src,alt:customIcons.image?.alt,style:{display:\"block\",width:size,height:size,opacity:customIcons.opacity,color:color,objectFit:customIcons.sizing,objectPosition:\"center\",pointerEvents:\"none\"}});}}return /*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:size,height:size,viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{color:color,display:\"block\"},children:filled?/*#__PURE__*/_jsx(\"path\",{d:\"M6.979 3.074a6 6 0 0 1 4.988 1.425l.037 .033l.034 -.03a6 6 0 0 1 4.733 -1.44l.246 .036a6 6 0 0 1 3.364 10.008l-.18 .185l-.048 .041l-7.45 7.379a1 1 0 0 1 -1.313 .082l-.094 -.082l-7.493 -7.422a6 6 0 0 1 3.176 -10.215z\",strokeWidth:\"0\",fill:\"currentColor\"}):/*#__PURE__*/_jsx(\"path\",{d:\"M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572\"})});}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function BookmarkButton(props){const{cmsCollectionName,slug,colors,border,supabaseUrl,supabaseAnonKey}=props;const borderRadius=props.radiusIsMixed?`${props.radiusTopLeft}px ${props.radiusTopRight}px ${props.radiusBottomRight}px ${props.radiusBottomLeft}px`:`${props.radius}px`;const[favourite,setFavourite]=useState(false);const[userId,setUserId]=useState(null);useEffect(()=>{if(!supabaseUrl||!supabaseAnonKey)return;const supabase=getSupabaseClient(supabaseUrl,supabaseAnonKey);if(!supabase||!cmsCollectionName||!slug)return;async function loadStatus(){const{data:{user}}=await supabase.auth.getUser();if(!user)return;setUserId(user.id);const{data,error}=await supabase.from(\"user_bookmarks\").select(\"id\").eq(\"user_id\",user.id).eq(\"collection\",cmsCollectionName).eq(\"slug\",slug.toLowerCase()).maybeSingle();if(!error&&data){setFavourite(true);}}loadStatus();},[cmsCollectionName,slug,supabaseUrl,supabaseAnonKey]);async function onButtonClick(event){event.preventDefault();event.stopPropagation();const supabase=getSupabaseClient(supabaseUrl,supabaseAnonKey);if(!supabase||!userId)return;if(favourite){await supabase.from(\"user_bookmarks\").delete().eq(\"user_id\",userId).eq(\"collection\",cmsCollectionName).eq(\"slug\",slug.toLowerCase());}else{await supabase.from(\"user_bookmarks\").insert({user_id:userId,collection:cmsCollectionName,slug:slug.toLowerCase()});}setFavourite(!favourite);}return /*#__PURE__*/_jsxs(\"div\",{style:{backgroundColor:favourite?colors.fillOn:colors.fillOff,borderRadius:borderRadius,padding:props.paddingIsMixed?`${props.paddingTop}px ${props.paddingRight}px ${props.paddingBottom}px ${props.paddingLeft}px`:`${props.padding}px`,cursor:\"pointer\",overflow:\"hidden\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",...props.style},onClick:onButtonClick,children:[/*#__PURE__*/_jsx(HeartIcon,{filled:favourite,size:props.iconSize,color:favourite?colors.iconOn:colors.iconOff,customIcons:props.customIcons}),border&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,borderWidth:border.widthIsMixed?`${border.widthTop}px ${border.widthRight}px ${border.widthBottom}px ${border.widthLeft}px`:`${border.width}px`,borderStyle:border.style,borderColor:favourite?border.colorOn:border.colorOff,borderRadius:borderRadius,pointerEvents:\"none\"}})]});}BookmarkButton.displayName=\"Bookmark Button\";addPropertyControls(BookmarkButton,{cmsCollectionName:{type:ControlType.String,defaultValue:\"\",title:\"CMS Collection Name\"},slug:{type:ControlType.String,defaultValue:\"\",description:\"Connect to Slug field.\"},supabaseUrl:{type:ControlType.String,defaultValue:\"\",title:\"Supabase URL\"},supabaseAnonKey:{type:ControlType.String,defaultValue:\"\",title:\"Supabase Anon Key\"},colors:{type:ControlType.Object,buttonTitle:\"Icon & Fill\",controls:{iconOn:{type:ControlType.Color,defaultValue:\"#FF0000\"},iconOff:{type:ControlType.Color,defaultValue:\"#919191\"},fillOn:{type:ControlType.Color,defaultValue:\"rgba(255, 0, 0, 0)\"},fillOff:{type:ControlType.Color,defaultValue:\"rgba(145, 145, 145, 0)\"}}},iconSize:{type:ControlType.Number,defaultValue:24,min:1,step:1},radius:{type:ControlType.FusedNumber,defaultValue:8,toggleKey:\"radiusIsMixed\",toggleTitles:[\"All\",\"Individual\"],valueKeys:[\"radiusTopLeft\",\"radiusTopRight\",\"radiusBottomRight\",\"radiusBottomLeft\"],valueLabels:[\"TL\",\"TR\",\"BR\",\"BL\"],min:0},padding:{type:ControlType.FusedNumber,defaultValue:12,toggleKey:\"paddingIsMixed\",toggleTitles:[\"All\",\"Individual\"],valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},border:{type:ControlType.Object,optional:true,controls:{colorOn:{type:ControlType.Color,defaultValue:\"#FF0000\"},colorOff:{type:ControlType.Color,defaultValue:\"#919191\"},width:{type:ControlType.FusedNumber,defaultValue:1,toggleKey:\"widthIsMixed\",toggleTitles:[\"All\",\"Individual\"],valueKeys:[\"widthTop\",\"widthRight\",\"widthBottom\",\"widthLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},style:{type:ControlType.Enum,defaultValue:\"solid\",options:[\"solid\",\"dashed\",\"dotted\",\"double\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\",\"Double\"]}}},customIcons:{type:ControlType.Object,optional:true,buttonTitle:\"Icons\",controls:{type:{type:ControlType.Enum,defaultValue:\"svg\",options:[\"svg\",\"image\"],optionTitles:[\"SVG\",\"Image\"],displaySegmentedControl:true},svgOn:{type:ControlType.String,placeholder:\"<svg></svg>\",displayTextArea:true,title:\"On\",hidden:props=>props.type!=\"svg\"},svgOff:{type:ControlType.String,placeholder:\"<svg></svg>\",displayTextArea:true,title:\"Off\",hidden:props=>props.type!=\"svg\"},imageOn:{type:ControlType.ResponsiveImage,title:\"On\",hidden:props=>props.type!=\"image\"},imageOff:{type:ControlType.ResponsiveImage,title:\"Off\",hidden:props=>props.type!=\"image\"},sizing:{type:ControlType.Enum,defaultValue:\"cover\",options:[\"cover\",\"contain\",\"fill\"],optionTitles:[\"Fill\",\"Fit\",\"Stretch\"],hidden:props=>props.type!=\"image\"},opacity:{type:ControlType.Number,defaultValue:1,min:0,max:1,step:.01}}},transition:{type:ControlType.Transition}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BookmarkButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BookmarkButton.map"],"mappings":"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"}