{"version":3,"file":"Slider.CS68s0Nb.mjs","names":["Slider","useState","useRef","useCallback","value"],"sources":["https:/framer.com/m/framer/lodash.js@0.3.0","https:/framerusercontent.com/modules/AHY1z1xp5QsxaZBkEL9H/7Qvf2RhlgA8L1UHMchaV/Slider.js"],"sourcesContent":["/** Error message constants. */ var FUNC_ERROR_TEXT = \"Expected a function\";\n/* Built-in method references for those with the same name as other `lodash` methods. */ var nativeMax = Math.max, nativeMin = Math.min;\n/** Used as references for various `Number` constants. */ var NAN = 0 / 0;\n/** Used to match leading and trailing whitespace. */ var reTrim = /^\\s+|\\s+$/g;\n/** Used to detect bad signed hexadecimal string values. */ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n/** Used to detect binary string values. */ var reIsBinary = /^0b[01]+$/i;\n/** Used to detect octal string values. */ var reIsOctal = /^0o[0-7]+$/i;\n/** Built-in method references without a dependency on `root`. */ var freeParseInt = parseInt;\nvar now = function() {\n    return Date.now();\n};\nfunction isObject(value) {\n    var type = typeof value;\n    return value != null && (type == \"object\" || type == \"function\");\n}\nfunction isObjectLike(value) {\n    return value != null && typeof value == \"object\";\n}\nfunction toNumber(value) {\n    if (typeof value == \"number\") {\n        return value;\n    }\n    if (typeof value == \"symbol\") {\n        return NAN;\n    }\n    if (isObject(value)) {\n        var other = typeof value.valueOf == \"function\" ? value.valueOf() : value;\n        value = isObject(other) ? other + \"\" : other;\n    }\n    if (typeof value != \"string\") {\n        return value === 0 ? value : +value;\n    }\n    value = value.replace(reTrim, \"\");\n    var isBinary = reIsBinary.test(value);\n    return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;\n}\nexport function debounce(func, wait, options) {\n    var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;\n    if (typeof func != \"function\") {\n        throw new TypeError(FUNC_ERROR_TEXT);\n    }\n    wait = toNumber(wait) || 0;\n    if (isObject(options)) {\n        leading = !!options.leading;\n        maxing = \"maxWait\" in options;\n        maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n        trailing = \"trailing\" in options ? !!options.trailing : trailing;\n    }\n    function invokeFunc(time) {\n        var args = lastArgs, thisArg = lastThis;\n        lastArgs = lastThis = undefined;\n        lastInvokeTime = time;\n        result = func.apply(thisArg, args);\n        return result;\n    }\n    function leadingEdge(time) {\n        // Reset any `maxWait` timer.\n        lastInvokeTime = time;\n        // Start the timer for the trailing edge.\n        timerId = setTimeout(timerExpired, wait);\n        // Invoke the leading edge.\n        return leading ? invokeFunc(time) : result;\n    }\n    function remainingWait(time) {\n        var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;\n        return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;\n    }\n    function shouldInvoke(time) {\n        var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;\n        // Either this is the first call, activity has stopped and we're at the\n        // trailing edge, the system time has gone backwards and we're treating\n        // it as the trailing edge, or we've hit the `maxWait` limit.\n        return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n    }\n    function timerExpired() {\n        var time = now();\n        if (shouldInvoke(time)) {\n            return trailingEdge(time);\n        }\n        // Restart the timer.\n        timerId = setTimeout(timerExpired, remainingWait(time));\n    }\n    function trailingEdge(time) {\n        timerId = undefined;\n        // Only invoke if we have `lastArgs` which means `func` has been\n        // debounced at least once.\n        if (trailing && lastArgs) {\n            return invokeFunc(time);\n        }\n        lastArgs = lastThis = undefined;\n        return result;\n    }\n    function cancel() {\n        if (timerId !== undefined) {\n            clearTimeout(timerId);\n        }\n        lastInvokeTime = 0;\n        lastArgs = lastCallTime = lastThis = timerId = undefined;\n    }\n    function flush() {\n        return timerId === undefined ? result : trailingEdge(now());\n    }\n    function debounced() {\n        var time = now(), isInvoking = shouldInvoke(time);\n        lastArgs = arguments;\n        lastThis = this;\n        lastCallTime = time;\n        if (isInvoking) {\n            if (timerId === undefined) {\n                return leadingEdge(lastCallTime);\n            }\n            if (maxing) {\n                // Handle invocations in a tight loop.\n                clearTimeout(timerId);\n                timerId = setTimeout(timerExpired, wait);\n                return invokeFunc(lastCallTime);\n            }\n        }\n        if (timerId === undefined) {\n            timerId = setTimeout(timerExpired, wait);\n        }\n        return result;\n    }\n    debounced.cancel = cancel;\n    debounced.flush = flush;\n    return debounced;\n}\nexport function throttle(func, wait, options) {\n    var leading = true, trailing = true;\n    if (typeof func != \"function\") {\n        throw new TypeError(FUNC_ERROR_TEXT);\n    }\n    if (isObject(options)) {\n        leading = \"leading\" in options ? !!options.leading : leading;\n        trailing = \"trailing\" in options ? !!options.trailing : trailing;\n    }\n    return debounce(func, wait, {\n        leading: leading,\n        maxWait: wait,\n        trailing: trailing\n    });\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"throttle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"debounce\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./lodash.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,withCSS}from\"framer\";import{animate,transform,motion,useTransform}from\"framer-motion\";import{useRef,useState,useCallback}from\"react\";import{isMotionValue,useOnChange,useAutoMotionValue}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{throttle}from\"https://framer.com/m/framer/lodash.js@0.3.0\";var KnobOptions;(function(KnobOptions){KnobOptions[\"Hide\"]=\"Hide\";KnobOptions[\"Hover\"]=\"Hover\";KnobOptions[\"Show\"]=\"Show\";})(KnobOptions||(KnobOptions={}));/**\n * SLIDER\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 20\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any\n */ export const Slider=withCSS(function Slider(props){const{value:valueProp,trackHeight,fillColor,focusColor,min,max,onChange,onChangeLive,onMax,onMin,trackColor,trackRadius,knobSize,knobColor,constrainKnob,shadow,shouldAnimateChange,transition,overdrag,knobSetting,style}=props;const[hovered,setHovered]=useState(false);const[focused,setFocused]=useState(false);const onCanvas=RenderTarget.current()===RenderTarget.canvas;const shouldAnimate=shouldAnimateChange&&!onCanvas;const isConstrained=constrainKnob&&knobSetting===KnobOptions.Show;const showKnob=knobSetting!==KnobOptions.Hide;const input=useRef();const knobPadding=8;// Main setting function\nconst updateValue=useCallback((newVal,target)=>{throttledInputUpdate(newVal);if(onChange)onChange(newVal);if(shouldAnimate)animate(target,newVal,transition);else requestAnimationFrame(()=>target.set(newVal));},[transition,shouldAnimate,onChange]);// \"value\" is the source of truth\n// It can be controlled via props with a motionvalue or number 0.0 - 1.0\n// Local changes are always allowed and are reported back up using \"onChange\" callback\nconst value=useAutoMotionValue(valueProp,{onChange:updateValue,transform:value=>transform(value,[0,100],[min,max])});const knobX=useTransform(value,[min,max],[\"0%\",\"100%\"]);const normalizedValue=useTransform(value,[min,max],[0,1]);const throttledInputUpdate=useCallback(throttle(val=>{var ref;if((ref=input.current)===null||ref===void 0?void 0:ref.value)input.current.value=val;},100),[input]);// Live updating callback\nuseOnChange(value,val=>{if(isMotionValue(valueProp))throttledInputUpdate(val);if(onMax&&val>=max)onMax();if(onMin&&val<=min)onMin();if(onChangeLive)onChangeLive(val);});// Read changes from input element\nconst handleInputChange=e=>{updateValue(parseFloat(e.target.value),value);};// Handle tapping on the know to trigger update\nconst handleMouseDown=e=>{if(parseFloat(e.target.value)!==0)updateValue(parseFloat(e.target.value),value);};const handleMouseUp=()=>{};const totalKnobWidth=showKnob?knobSize+knobPadding:knobPadding;const totalHeight=Math.max(knobSize+knobPadding,trackHeight);return /*#__PURE__*/ _jsxs(\"div\",{className:\"framer-default-slider\",onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),style:{position:\"relative\",...style,alignItems:\"center\",justifyContent:\"flex-start\",border:`0px solid ${focusColor}`,\"--framer-default-slider-height\":totalHeight,\"--framer-default-slider-width\":totalKnobWidth},children:[/*#__PURE__*/ _jsx(\"input\",{ref:input,style:{flexShrink:0,minHeight:totalHeight,opacity:0,margin:0,display:\"flex\",...style,WebkitTapHighlightColor:\"rgba(0, 0, 0, 0)\",...!isConstrained&&{width:`calc(100% + ${totalKnobWidth}px)`,marginLeft:-totalKnobWidth/2}},onFocus:()=>setFocused(true),onBlur:()=>setFocused(false),type:\"range\",min:min,max:max,defaultValue:-1,step:\"any\",onChange:handleInputChange,onMouseDown:handleMouseDown,onMouseUp:handleMouseUp}),/*#__PURE__*/ _jsx(\"div\",{style:{background:trackColor,position:\"absolute\",top:`calc(50% - ${Math.ceil(trackHeight/2)}px)`,borderRadius:trackRadius,display:\"flex\",height:trackHeight,width:\"100%\",transformOrigin:\"left\",pointerEvents:\"none\",overflow:\"hidden\"},children:/*#__PURE__*/ _jsx(motion.div,{style:{height:trackHeight,width:\"100%\",background:fillColor,scaleX:normalizedValue,position:\"absolute\",top:`calc(50% - ${Math.ceil(trackHeight/2)}px)`,transformOrigin:\"left\",pointerEvents:\"none\"}})}),/*#__PURE__*/ _jsx(motion.div,{style:{x:knobX,position:\"absolute\",display:\"flex\",top:`calc(50% - ${Math.floor(knobSize/2)}px)`,pointerEvents:\"none\",...isConstrained?{width:`calc(100% - ${knobSize}px`,left:0}:{width:`100%`,left:-knobSize/2}},children:/*#__PURE__*/ _jsx(motion.div,{initial:false,animate:{scale:hovered&&knobSetting===KnobOptions.Hover||knobSetting===KnobOptions.Show?1:0},transition:{type:\"spring\",stiffness:900,damping:40},style:{transformOrigin:\"50% 50%\",width:knobSize,height:knobSize,borderRadius:\"50%\",background:knobColor,pointerEvents:\"none\",boxShadow:`0px 1px 2px 0px ${shadow}, \n                                0px 2px 4px 0px ${shadow}, \n                                0px 4px 8px 0px ${shadow}`}})})]});},[\".framer-default-slider input[type=range] {  width: 100%; height: 100% background:transparent margin: 0;}\",\".framer-default-slider input[type=range]:focus { outline: none; }\",\".framer-default-slider input[type=range]::-ms-track { width: 100%; cursor: pointer; background: transparent; border-color: transparent; color: transparent; }\",\".framer-default-slider input[type=range]::-webkit-slider-thumb { height: var(--framer-default-slider-height, 0px); width: var(--framer-default-slider-width, 0px); border-radius: 0;  background: none; }\",\".framer-default-slider input[type=range]::-moz-range-thumb { height: var(--framer-default-slider-height, 0px); width: var(--framer-default-slider-width, 0px); border-radius: 0;  background: none; }\",\".framer-default-slider input[type=range]::-ms-thumb  { height: var(--framer-default-slider-height, 0px); width: var(--framer-default-slider-width, 0px); border-radius: 0;  background: none; }\",]);Slider.displayName=\"Slider\";Slider.defaultProps={height:20,width:200,trackHeight:4,fillColor:\"#09F\",trackColor:\"#DDD\",knobColor:\"#FFF\",focusColor:\"rgba(0, 153, 255,0)\",shadow:\"rgba(0,0,0,0.1)\",knobSize:20,overdrag:true,min:0,max:100,value:50,trackRadius:5,knobSetting:KnobOptions.Show,constrainKnob:false,transition:{type:\"spring\",delay:0,stiffness:750,damping:50},shouldAnimateChange:true};addPropertyControls(Slider,{fillColor:{title:\"Tint\",type:ControlType.Color},trackColor:{title:\"Track\",type:ControlType.Color},knobColor:{title:\"Knob\",type:ControlType.Color},shadow:{type:ControlType.Color,title:\"Shadow\"},// focusColor: {\n//     title: \"Focus\",\n//     type: ControlType.Color,\n// },\nshouldAnimateChange:{type:ControlType.Boolean,title:\"Changes\",enabledTitle:\"Animate\",disabledTitle:\"Instant\"},transition:{type:ControlType.Transition,defaultValue:Slider.defaultProps.transition},knobSetting:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Knob\",options:[\"Hide\",\"Hover\",\"Show\"]},constrainKnob:{type:ControlType.Boolean,title:\"Constrain\",enabledTitle:\"Yes\",disabledTitle:\"No\",hidden:({knobSetting})=>knobSetting!==KnobOptions.Show},knobSize:{type:ControlType.Number,title:\"Knob\",min:10,max:100,hidden:({knobSetting})=>knobSetting===KnobOptions.Hide},value:{type:ControlType.Number,title:\"Value\",min:0,max:100,unit:\"%\"},trackHeight:{title:\"Height\",type:ControlType.Number,min:0},min:{title:\"Min\",type:ControlType.Number,displayStepper:true},trackRadius:{type:ControlType.Number,displayStepper:true,min:0,max:200,title:\"Radius\"},max:{title:\"Max\",type:ControlType.Number,displayStepper:true},onChange:{type:ControlType.EventHandler},onMax:{type:ControlType.EventHandler},onMin:{type:ControlType.EventHandler}});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Slider\":{\"type\":\"reactComponent\",\"name\":\"Slider\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicWidth\":\"200\",\"framerIntrinsicHeight\":\"20\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Slider.map"],"mappings":"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"}