{"version":3,"file":"Rating.D2rJSup8.mjs","names":["useMemo","useRef","Icons"],"sources":["https:/framerusercontent.com/modules/pAiDzuVWlJ5Yhal7oozz/lEyCaN6Gj2ZBiPWlj3VK/Rating.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useMemo,useRef,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{useMotionValue,motion,useSpring,useTransform}from\"framer-motion\";import*as Icons from\"https://framer.com/m/framer/icons-assets.js@0.2.0\";import{defaultEvents,useOnEnter}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";const round=(value,step)=>step>0?Math.ceil(value*(1/step))/(1/step):value;function Star(props){const{size=24}=props;return(/*#__PURE__*/ _jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:size,height:size,viewBox:\"0 0 18 18\",children:/*#__PURE__*/ _jsx(\"path\",{d:\"M 8.103 1.817 C 8.47 1.074 9.53 1.074 9.897 1.817 L 11.412 4.888 C 11.558 5.183 11.84 5.388 12.165 5.435 L 15.554 5.927 C 16.375 6.047 16.702 7.055 16.109 7.633 L 13.656 10.024 C 13.421 10.253 13.313 10.584 13.369 10.909 L 13.948 14.284 C 14.088 15.101 13.23 15.724 12.497 15.338 L 9.465 13.745 C 9.174 13.591 8.826 13.591 8.535 13.745 L 5.503 15.338 C 4.77 15.724 3.912 15.101 4.052 14.284 L 4.631 10.909 C 4.687 10.584 4.579 10.253 4.344 10.024 L 1.891 7.633 C 1.298 7.055 1.625 6.047 2.446 5.927 L 5.835 5.435 C 6.16 5.388 6.442 5.183 6.588 4.888 Z\",fill:\"currentColor\"})}));}/**\n * RATING\n *\n * @framerIntrinsicWidth 124\n * @framerIntrinsicHeight 26\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */ export function Rating(props){const{amount,customIcon,iconName,rating,step,inactiveColor,color,hoverColor,onChange,size,onClick,onFill,onEmpty,onLoadReset,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,style}=props;const units=useMemo(()=>new Array(amount).fill(0),[amount]);const parent=useRef();const bounds=useRef();const Icon=customIcon?Icons[iconName]:Star;const ratingSpring=useSpring(rating) // normalized\n;const ratingHover=useMotionValue(0) // normalized\n;const ratingScale=useTransform(ratingSpring,[0,amount],[0,1]);const innerRatingScale=useTransform([ratingScale],r=>1/r);const ratingHoverScale=useTransform(ratingHover,[0,amount],[0,1]);const innerHoverScale=useTransform([ratingHoverScale],r=>1/r);const measure=()=>bounds.current=parent.current.getBoundingClientRect();const handleChange=ratingVal=>{ratingSpring.set(ratingVal);if(onChange)onChange(ratingVal);if(onFill&&ratingVal===amount)onFill();if(onEmpty&&ratingVal===0)onEmpty();};const handleTap=(_,info)=>{if(onClick)onClick();const normalizedClick=(info.point.x-bounds.current.x)/bounds.current.width;const ratingVal=round(normalizedClick*amount,step);handleChange(ratingVal);};const handleMouseMove=e=>{const normalizedHover=(e.clientX-bounds.current.x)/bounds.current.width;ratingHover.set(round(normalizedHover*amount,step));};useEffect(()=>{ratingSpring.set(rating);},[rating]);useOnEnter(()=>{if(onLoadReset)ratingSpring.set(rating);});return(/*#__PURE__*/ _jsxs(\"div\",{style:{...parentStyle,paddingTop:5,paddingBottom:4,// marginLeft: -10,\n// marginRight: -10,\n...style},children:[/*#__PURE__*/ _jsx(\"div\",{onClick:()=>handleChange(0),style:{height:size,width:10}}),/*#__PURE__*/ _jsxs(motion.div,{ref:parent,onTap:handleTap,onMouseMove:handleMouseMove,onMouseEnter:()=>{measure();if(onMouseEnter)onMouseEnter();},onMouseLeave:()=>{ratingHover.set(0);if(onMouseLeave)onMouseLeave();},style:{display:\"inline-flex\",position:\"relative\",color:inactiveColor},onMouseDown,onMouseUp,children:[units.map((_,i)=>/*#__PURE__*/ _jsx(Icon,{size:size},i)),/*#__PURE__*/ _jsx(motion.div,{style:{...ratingStyle,scaleX:ratingScale,originX:0},children:/*#__PURE__*/ _jsx(motion.div,{style:{scaleX:innerRatingScale,originX:0,display:\"flex\",color},children:units.map((_,i)=>/*#__PURE__*/ _jsx(Icon,{size:size},i))})}),/*#__PURE__*/ _jsx(motion.div,{style:{...ratingStyle,scaleX:ratingHoverScale,originX:0},children:/*#__PURE__*/ _jsx(motion.div,{style:{scaleX:innerHoverScale,originX:0,display:\"flex\",color:hoverColor},children:units.map((_,i)=>/*#__PURE__*/ _jsx(Icon,{size:size},i))})})]}),/*#__PURE__*/ _jsx(\"div\",{onClick:()=>handleChange(amount),onMouseEnter:()=>ratingHover.set(amount),onMouseLeave:()=>ratingHover.set(0),style:{height:size,width:10}})]}));}Rating.defaultProps={width:124,height:26,amount:5,rating:3,step:0.5,color:\"#09F\",iconName:\"star\",size:24,inactiveColor:\"#DDD\",hoverColor:\"rgba(0,0,0,0.1)\",customIcon:false,onLoadReset:false};addPropertyControls(Rating,{color:{title:\"Active\",type:ControlType.Color},inactiveColor:{title:\"Inactive\",type:ControlType.Color},hoverColor:{title:\"Hover\",type:ControlType.Color},rating:{type:ControlType.Number,displayStepper:true,min:0,max:10,step:0.5},amount:{title:\"Amount\",type:ControlType.Number,displayStepper:true,min:1,max:10},size:{title:\"Size\",type:ControlType.Number,displayStepper:true,min:5,max:100},step:{title:\"Step\",type:ControlType.Enum,displaySegmentedControl:true,optionTitles:[\"None\",\"0.5\",\"1\"],options:[0,0.5,1]},customIcon:{title:\"Icon\",type:ControlType.Boolean,enabledTitle:\"Feather\",disabledTitle:\"Default\"},iconName:{type:ControlType.Enum,options:Object.keys(Icons),defaultValue:\"Star\",title:\" \",hidden:({customIcon})=>!customIcon},onLoadReset:{title:\"On Enter\",type:ControlType.Boolean,enabledTitle:\"Reset\",disabledTitle:\"Persist\"},onChange:{type:ControlType.EventHandler},onEmpty:{type:ControlType.EventHandler},onFill:{type:ControlType.EventHandler},...defaultEvents});const ratingStyle={display:\"inline-block\",position:\"absolute\",overflow:\"hidden\",width:\"100%\",height:\"100%\",left:0,top:0};const parentStyle={display:\"flex\",justifyContent:\"center\",alignItems:\"center\",overflow:\"hidden\"};\nexport const __FramerMetadata__ = {\"exports\":{\"Rating\":{\"type\":\"reactComponent\",\"name\":\"Rating\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"124\",\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"26\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Rating.map"],"mappings":"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"}