{"version":3,"file":"FavouriteButton.BiB9IOd7.mjs","names":[],"sources":["https:/framerusercontent.com/modules/Y1ZXBoo8yVz7K3MPQoYE/0c8UHO5Nn5WiOQhdWLWt/FavouriteButton.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";import{Border,createBackground,fillPropOnOff}from\"https://framerusercontent.com/modules/FZjYlw33eNo8pxLbSFLX/e0vXaSjcEY6WLZBJ4574/SuperfieldsShared.js\";import useFavouriteStore from\"https://framerusercontent.com/modules/c1jaZMVo1HBulMCJfZHW/iKEgwCv7dmbKuDZ42rdk/FavouriteStore.js\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export default function FavouriteButton(props){const{cmsCollectionName,slug,colors,border}=props;const{favourites,addFavourite,removeFavourite}=useFavouriteStore(cmsCollectionName,state=>state);var _favourites_includes;const favourite=(_favourites_includes=favourites===null||favourites===void 0?void 0:favourites.includes(slug))!==null&&_favourites_includes!==void 0?_favourites_includes:false;function onButtonClick(event){var _props_click;event.preventDefault();event.stopPropagation();if(favourites.includes(slug)){var // Remove from list\n_props_unfavourited;(_props_unfavourited=props.unfavourited)===null||_props_unfavourited===void 0?void 0:_props_unfavourited.call(props);removeFavourite(slug);}else{var // Add to list\n_props_favourited;(_props_favourited=props.favourited)===null||_props_favourited===void 0?void 0:_props_favourited.call(props);addFavourite(slug);}(_props_click=props.click)===null||_props_click===void 0?void 0:_props_click.call(props);}return /*#__PURE__*/_jsxs(motion.div,{onClick:onButtonClick,onMouseEnter:props.hover,animate:{...createBackground(props.fill,favourite),boxShadow:favourite?colors.shadowOn:colors.shadowOff},style:{borderRadius:props.radiusIsMixed?`${props.radiusTopLeft}px ${props.radiusTopRight}px ${props.radiusBottomRight}px ${props.radiusBottomLeft}px`:`${props.radius}px`,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},initial:false,transition:props.transition,children:[/*#__PURE__*/_jsx(HeartIcon,{on:favourite,size:props.iconSize,colorOn:colors.iconOn,colorOff:colors.iconOff,customIcons:props.customIcons,transition:props.transition}),border&&/*#__PURE__*/_jsx(Border,{...border,color:favourite?border.colorOn:border.colorOff,transition:props.transition})]});}FavouriteButton.displayName=\"Favourite Button\";addPropertyControls(FavouriteButton,{cmsCollectionName:{type:ControlType.String,defaultValue:\"\",placeholder:\"CMS Collection Name\",title:\"CMS Collection Name\",description:\"This is used to save favourites as cookies. Changing this value later will reset all favourites.\"},slug:{type:ControlType.String,defaultValue:\"\",placeholder:\"Slug\",description:\"Connect to Slug field.\"},colors:{type:ControlType.Object,buttonTitle:\"Icon & Shadow\",icon:\"color\",controls:{iconOn:{type:ControlType.Color,defaultValue:\"#FF0000\"},iconOff:{type:ControlType.Color,defaultValue:\"#919191\"},shadowOn:{type:ControlType.BoxShadow},shadowOff:{type:ControlType.BoxShadow}}},fill:fillPropOnOff({colorOn:\"#FF0000\",colorAOn:\"#FF7070\",colorBOn:\"#FF0000\",colorOff:\"#000\",colorAOff:\"#8C8C8C\",colorBOff:\"#000\",noDefault:true}),iconSize:{type:ControlType.Number,defaultValue:24,min:1,step:1},padding:{type:ControlType.FusedNumber,defaultValue:12,toggleKey:\"paddingIsMixed\",toggleTitles:[\"All\",\"Individual\"],valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},radius:{type:ControlType.FusedNumber,defaultValue:24,toggleKey:\"radiusIsMixed\",toggleTitles:[\"All\",\"Individual\"],valueKeys:[\"radiusTopLeft\",\"radiusTopRight\",\"radiusBottomRight\",\"radiusBottomLeft\"],valueLabels:[\"TL\",\"TR\",\"BR\",\"BL\"],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:\"Icon\",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,defaultValue:{type:\"spring\",duration:.2,bounce:0}},favourited:{type:ControlType.EventHandler},unfavourited:{type:ControlType.EventHandler},click:{type:ControlType.EventHandler},hover:{type:ControlType.EventHandler}});function HeartIcon(props){const{on,customIcons,size,colorOn,colorOff,transition}=props;let iconElements=[];if(customIcons){if(customIcons.type==\"svg\"){const icons=[{svg:customIcons.svgOn,color:colorOn},{svg:customIcons.svgOff,color:colorOff}];iconElements=icons.map((icon,index)=>/*#__PURE__*/_jsx(motion.div,{animate:{opacity:on==(index==0)?customIcons.opacity:0},initial:false,transition:transition,className:\"superfields-social-share-icon\",style:{position:\"absolute\",width:size,height:size,color:icon.color,pointerEvents:\"none\"},dangerouslySetInnerHTML:{__html:icon.svg.replace(/width=\"(\\d+)\"/,`width=\"${size}\"`).replace(/height=\"(\\d+)\"/,`width=\"${size}\"`)}},index));iconElements.push(/*#__PURE__*/_jsx(\"style\",{children:`.superfields-social-share-icon svg { display: block; }`}));}else if(customIcons.type==\"image\"){const images=[customIcons.imageOn,customIcons.imageOff];iconElements=images.map((image,index)=>/*#__PURE__*/_jsx(motion.img,{animate:{opacity:on==(index==0)?1:0},initial:false,transition:transition,src:image===null||image===void 0?void 0:image.src,alt:image===null||image===void 0?void 0:image.alt,style:{position:\"absolute\",display:\"block\",width:size,height:size,opacity:customIcons.opacity,objectFit:customIcons.sizing,objectPosition:\"center\",pointerEvents:\"none\"}},index));}}else{const icons=[{color:colorOn,element:/*#__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\"})},{color:colorOff,element:/*#__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\"})}];iconElements=icons.map((icon,index)=>/*#__PURE__*/_jsx(motion.svg,{animate:{opacity:on==(index==0)?1:0},initial:false,transition:transition,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:{position:\"absolute\",color:icon.color,display:\"block\"},children:icon.element},index));}return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:size,height:size},children:iconElements});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FavouriteButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FavouriteButton.map"],"mappings":"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"}