{
  "version": 3,
  "sources": ["ssg:https://framer.com/m/framer/audio-assets.js@0.2.0", "ssg:https://framer.com/m/framer/lodash.js@0.3.0", "ssg:https://framerusercontent.com/modules/AHY1z1xp5QsxaZBkEL9H/7Qvf2RhlgA8L1UHMchaV/Slider.js", "ssg:https://framerusercontent.com/modules/NRKVbMFYrBaqL0rx532t/kDypoRR2B1GRROQ0uGdY/Audio.js"],
  "sourcesContent": ["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { motion } from \"framer\";\nexport function PlayIcon(props) {\n    return(/*#__PURE__*/ _jsx(motion.svg, {\n        ...props,\n        xmlns: \"http://www.w3.org/2000/svg\",\n        viewBox: \"0 0 16 16\",\n        children: /*#__PURE__*/ _jsx(\"path\", {\n            d: \"M 5.379 1.292 C 4.968 1.033 4.449 1.017 4.023 1.251 C 3.598 1.486 3.334 1.933 3.333 2.419 L 3.333 13.581 C 3.334 14.067 3.598 14.514 4.023 14.749 C 4.449 14.983 4.968 14.967 5.379 14.708 L 14.215 9.127 C 14.602 8.883 14.836 8.457 14.836 8 C 14.836 7.543 14.602 7.117 14.215 6.873 Z\",\n            fill: \"#333\"\n        })\n    }));\n}\nexport function PauseIcon(props) {\n    return(/*#__PURE__*/ _jsxs(motion.svg, {\n        ...props,\n        xmlns: \"http://www.w3.org/2000/svg\",\n        viewBox: \"0 0 16 16\",\n        children: [\n            /*#__PURE__*/ _jsx(\"path\", {\n                d: \"M 3 3 C 3 2.448 3.448 2 4 2 L 6 2 C 6.552 2 7 2.448 7 3 L 7 13 C 7 13.552 6.552 14 6 14 L 4 14 C 3.448 14 3 13.552 3 13 Z\",\n                fill: \"#343434\"\n            }),\n            /*#__PURE__*/ _jsx(\"path\", {\n                d: \"M 9 3 C 9 2.448 9.448 2 10 2 L 12 2 C 12.552 2 13 2.448 13 3 L 13 13 C 13 13.552 12.552 14 12 14 L 10 14 C 9.448 14 9 13.552 9 13 Z\",\n                fill: \"#343434\"\n            })\n        ]\n    }));\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"PauseIcon\":{\"type\":\"reactComponent\",\"name\":\"PauseIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"PlayIcon\":{\"type\":\"reactComponent\",\"name\":\"PlayIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./audio.map", "/** 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\";\nimport { addPropertyControls, ControlType, RenderTarget, withCSS } from \"framer\";\nimport { animate, transform, motion, useTransform } from \"framer-motion\";\nimport { useRef, useState, useCallback } from \"react\";\nimport { isMotionValue, useOnChange, useAutoMotionValue } from \"https://framer.com/m/framer/default-utils.js@^0.45.0\";\nimport { throttle } from \"https://framer.com/m/framer/lodash.js@0.3.0\";\nvar KnobOptions;\n(function (KnobOptions) {\n  KnobOptions[\"Hide\"] = \"Hide\";\n  KnobOptions[\"Hover\"] = \"Hover\";\n  KnobOptions[\"Show\"] = \"Show\";\n})(KnobOptions || (KnobOptions = {})); /**\n                                       * SLIDER\n                                       *\n                                       * @framerIntrinsicWidth 200\n                                       * @framerIntrinsicHeight 20\n                                       *\n                                       * @framerSupportedLayoutWidth fixed\n                                       * @framerSupportedLayoutHeight any\n                                       */\nexport const Slider = withCSS(function Slider(props) {\n  const {\n    value: valueProp,\n    trackHeight,\n    fillColor,\n    focusColor,\n    min,\n    max,\n    onChange,\n    onChangeLive,\n    onMax,\n    onMin,\n    trackColor,\n    trackRadius,\n    knobSize,\n    knobColor,\n    constrainKnob,\n    shadow,\n    shouldAnimateChange,\n    transition,\n    overdrag,\n    knobSetting,\n    style\n  } = props;\n  const [hovered, setHovered] = useState(false);\n  const [focused, setFocused] = useState(false);\n  const onCanvas = RenderTarget.current() === RenderTarget.canvas;\n  const shouldAnimate = shouldAnimateChange && !onCanvas;\n  const isConstrained = constrainKnob && knobSetting === KnobOptions.Show;\n  const showKnob = knobSetting !== KnobOptions.Hide;\n  const input = useRef();\n  const knobPadding = 8; // Main setting function\n  const updateValue = useCallback((newVal, target) => {\n    throttledInputUpdate(newVal);\n    if (onChange) onChange(newVal);\n    if (shouldAnimate) animate(target, newVal, transition);else requestAnimationFrame(() => target.set(newVal));\n  }, [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\n  const value = useAutoMotionValue(valueProp, {\n    onChange: updateValue,\n    transform: value => transform(value, [0, 100], [min, max])\n  });\n  const knobX = useTransform(value, [min, max], [\"0%\", \"100%\"]);\n  const normalizedValue = useTransform(value, [min, max], [0, 1]);\n  const throttledInputUpdate = useCallback(throttle(val => {\n    var ref;\n    if ((ref = input.current) === null || ref === void 0 ? void 0 : ref.value) input.current.value = val;\n  }, 100), [input]); // Live updating callback\n  useOnChange(value, val => {\n    if (isMotionValue(valueProp)) throttledInputUpdate(val);\n    if (onMax && val >= max) onMax();\n    if (onMin && val <= min) onMin();\n    if (onChangeLive) onChangeLive(val);\n  }); // Read changes from input element\n  const handleInputChange = e => {\n    updateValue(parseFloat(e.target.value), value);\n  }; // Handle tapping on the know to trigger update\n  const handleMouseDown = e => {\n    if (parseFloat(e.target.value) !== 0) updateValue(parseFloat(e.target.value), value);\n  };\n  const handleMouseUp = () => {};\n  const totalKnobWidth = showKnob ? knobSize + knobPadding : knobPadding;\n  const totalHeight = Math.max(knobSize + knobPadding, trackHeight);\n  return /*#__PURE__*/_jsxs(\"div\", {\n    className: \"framer-default-slider\",\n    onMouseEnter: () => setHovered(true),\n    onMouseLeave: () => setHovered(false),\n    style: {\n      position: \"relative\",\n      ...style,\n      alignItems: \"center\",\n      justifyContent: \"flex-start\",\n      border: `0px solid ${focusColor}`,\n      \"--framer-default-slider-height\": totalHeight,\n      \"--framer-default-slider-width\": totalKnobWidth\n    },\n    children: [/*#__PURE__*/_jsx(\"input\", {\n      ref: input,\n      style: {\n        flexShrink: 0,\n        minHeight: totalHeight,\n        opacity: 0,\n        margin: 0,\n        display: \"flex\",\n        ...style,\n        WebkitTapHighlightColor: \"rgba(0, 0, 0, 0)\",\n        ...(!isConstrained && {\n          width: `calc(100% + ${totalKnobWidth}px)`,\n          marginLeft: -totalKnobWidth / 2\n        })\n      },\n      onFocus: () => setFocused(true),\n      onBlur: () => setFocused(false),\n      type: \"range\",\n      min: min,\n      max: max,\n      defaultValue: -1,\n      step: \"any\",\n      onChange: handleInputChange,\n      onMouseDown: handleMouseDown,\n      onMouseUp: handleMouseUp\n    }), /*#__PURE__*/_jsx(\"div\", {\n      style: {\n        background: trackColor,\n        position: \"absolute\",\n        top: `calc(50% - ${Math.ceil(trackHeight / 2)}px)`,\n        borderRadius: trackRadius,\n        display: \"flex\",\n        height: trackHeight,\n        width: \"100%\",\n        transformOrigin: \"left\",\n        pointerEvents: \"none\",\n        overflow: \"hidden\"\n      },\n      children: /*#__PURE__*/_jsx(motion.div, {\n        style: {\n          height: trackHeight,\n          width: \"100%\",\n          background: fillColor,\n          scaleX: normalizedValue,\n          position: \"absolute\",\n          top: `calc(50% - ${Math.ceil(trackHeight / 2)}px)`,\n          transformOrigin: \"left\",\n          pointerEvents: \"none\"\n        }\n      })\n    }), /*#__PURE__*/_jsx(motion.div, {\n      style: {\n        x: knobX,\n        position: \"absolute\",\n        display: \"flex\",\n        top: `calc(50% - ${Math.floor(knobSize / 2)}px)`,\n        pointerEvents: \"none\",\n        ...(isConstrained ? {\n          width: `calc(100% - ${knobSize}px`,\n          left: 0\n        } : {\n          width: `100%`,\n          left: -knobSize / 2\n        })\n      },\n      children: /*#__PURE__*/_jsx(motion.div, {\n        initial: false,\n        animate: {\n          scale: hovered && knobSetting === KnobOptions.Hover || knobSetting === KnobOptions.Show ? 1 : 0\n        },\n        transition: {\n          type: \"spring\",\n          stiffness: 900,\n          damping: 40\n        },\n        style: {\n          transformOrigin: \"50% 50%\",\n          width: knobSize,\n          height: knobSize,\n          borderRadius: \"50%\",\n          background: knobColor,\n          pointerEvents: \"none\",\n          boxShadow: `0px 1px 2px 0px ${shadow}, \n                                0px 2px 4px 0px ${shadow}, \n                                0px 4px 8px 0px ${shadow}`\n        }\n      })\n    })]\n  });\n}, [\".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; }\"]);\nSlider.displayName = \"Slider\";\nSlider.defaultProps = {\n  height: 20,\n  width: 200,\n  trackHeight: 4,\n  fillColor: \"#09F\",\n  trackColor: \"#DDD\",\n  knobColor: \"#FFF\",\n  focusColor: \"rgba(0, 153, 255,0)\",\n  shadow: \"rgba(0,0,0,0.1)\",\n  knobSize: 20,\n  overdrag: true,\n  min: 0,\n  max: 100,\n  value: 50,\n  trackRadius: 5,\n  knobSetting: KnobOptions.Show,\n  constrainKnob: false,\n  transition: {\n    type: \"spring\",\n    delay: 0,\n    stiffness: 750,\n    damping: 50\n  },\n  shouldAnimateChange: true\n};\naddPropertyControls(Slider, {\n  fillColor: {\n    title: \"Tint\",\n    type: ControlType.Color\n  },\n  trackColor: {\n    title: \"Track\",\n    type: ControlType.Color\n  },\n  knobColor: {\n    title: \"Knob\",\n    type: ControlType.Color\n  },\n  shadow: {\n    type: ControlType.Color,\n    title: \"Shadow\"\n  },\n  // focusColor: {\n  //     title: \"Focus\",\n  //     type: ControlType.Color,\n  // },\n  shouldAnimateChange: {\n    type: ControlType.Boolean,\n    title: \"Changes\",\n    enabledTitle: \"Animate\",\n    disabledTitle: \"Instant\"\n  },\n  transition: {\n    type: ControlType.Transition,\n    defaultValue: Slider.defaultProps.transition\n  },\n  knobSetting: {\n    type: ControlType.Enum,\n    displaySegmentedControl: true,\n    title: \"Knob\",\n    options: [\"Hide\", \"Hover\", \"Show\"]\n  },\n  constrainKnob: {\n    type: ControlType.Boolean,\n    title: \"Constrain\",\n    enabledTitle: \"Yes\",\n    disabledTitle: \"No\",\n    hidden: ({\n      knobSetting\n    }) => knobSetting !== KnobOptions.Show\n  },\n  knobSize: {\n    type: ControlType.Number,\n    title: \"Knob\",\n    min: 10,\n    max: 100,\n    hidden: ({\n      knobSetting\n    }) => knobSetting === KnobOptions.Hide\n  },\n  value: {\n    type: ControlType.Number,\n    title: \"Value\",\n    min: 0,\n    max: 100,\n    unit: \"%\"\n  },\n  trackHeight: {\n    title: \"Height\",\n    type: ControlType.Number,\n    min: 0\n  },\n  min: {\n    title: \"Min\",\n    type: ControlType.Number,\n    displayStepper: true\n  },\n  trackRadius: {\n    type: ControlType.Number,\n    displayStepper: true,\n    min: 0,\n    max: 200,\n    title: \"Radius\"\n  },\n  max: {\n    title: \"Max\",\n    type: ControlType.Number,\n    displayStepper: true\n  },\n  onChange: {\n    type: ControlType.EventHandler\n  },\n  onMax: {\n    type: ControlType.EventHandler\n  },\n  onMin: {\n    type: ControlType.EventHandler\n  }\n});\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"Props\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"Slider\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"Slider\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerSupportedLayoutHeight\": \"any\",\n        \"framerIntrinsicWidth\": \"200\",\n        \"framerIntrinsicHeight\": \"20\",\n        \"framerContractVersion\": \"1\",\n        \"framerSupportedLayoutWidth\": \"fixed\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./Slider.map", "import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useRef, useState, useMemo, useEffect, useCallback } from \"react\";\nimport { addPropertyControls, ControlType, RenderTarget } from \"framer\";\nimport { MotionValue, animate, useMotionValueEvent } from \"framer-motion\";\nimport { useOnEnter, usePadding, useRadius, paddingControl, borderRadiusControl, useOnChange, containerStyles, secondsToMinutes, useAutoMotionValue, useOnExit, fontStack, useFontControls } from \"https://framer.com/m/framer/default-utils.js@^0.45.0\";\nimport { PlayIcon, PauseIcon } from \"https://framer.com/m/framer/audio-assets.js@0.2.0\";\nimport { Slider } from \"https://framerusercontent.com/modules/AHY1z1xp5QsxaZBkEL9H/7Qvf2RhlgA8L1UHMchaV/Slider.js\";\nconst isMotionValue = v => v instanceof MotionValue;\nvar SrcType;\n(function (SrcType) {\n  SrcType[\"Video\"] = \"Upload\";\n  SrcType[\"Url\"] = \"URL\";\n})(SrcType || (SrcType = {}));\nfunction PlayTime(props) {\n  const {\n    currentTime,\n    startTime\n  } = props;\n  const [playTime, setPlayTime] = useState(\"0:00\");\n  useEffect(() => {\n    setPlayTime(secondsToMinutes(startTime));\n  }, [startTime]);\n  useOnChange(currentTime, latest => {\n    setPlayTime(secondsToMinutes(latest));\n  });\n  return /*#__PURE__*/_jsx(_Fragment, {\n    children: playTime\n  });\n}\nconst checkIfPlaying = player => player.current && !player.current.paused && !player.current.ended && player.current.readyState > 2; /**\n                                                                                                                                     * AUDIO\n                                                                                                                                     *\n                                                                                                                                     * Audio player component optimized for smart components.\n                                                                                                                                     *\n                                                                                                                                     * @framerIntrinsicWidth 240\n                                                                                                                                     * @framerIntrinsicHeight 50\n                                                                                                                                     *\n                                                                                                                                     * @framerSupportedLayoutWidth fixed\n                                                                                                                                     * @framerSupportedLayoutHeight fixed\n                                                                                                                                     */\nexport function Audio(props) {\n  const {\n    playing,\n    background,\n    progressColor,\n    trackHeight,\n    gap,\n    trackColor,\n    srcUrl,\n    srcType,\n    srcFile,\n    loop,\n    font,\n    autoPlay,\n    progress,\n    volume,\n    showTime,\n    showTrack,\n    playPauseCursor,\n    showPlayPause,\n    onTimeUpdate,\n    onMetadata,\n    onPlay,\n    onPause,\n    onEnd,\n    pauseOnExit,\n    onPlayGlobalPauseOption\n  } = props; // Defaults to false, only switches to play if possible\n  const [isPlaying, setIsPlaying] = useState(false);\n  const [duration, setDuration] = useState(0); // Audio element ref and non-state info\n  const player = useRef();\n  const playerInfo = useRef({\n    ready: false,\n    animation: null\n  }); // Track progress in ms, always in sync with audio element\n  const trackProgress = useAutoMotionValue(progress, {\n    transform: value => value * .01,\n    onChange: (newValue, value) => {\n      if (player.current.duration) {\n        player.current.currentTime = newValue * player.current.duration;\n        handlePlayStateUpdate(\"motionHook\");\n      }\n    }\n  });\n  const padding = usePadding(props);\n  const borderRadius = useRadius(props);\n  const {\n    fontSize\n  } = useFontControls(props);\n  const shouldPlay = RenderTarget.current() === RenderTarget.preview;\n  const shouldPausePlayers = onPlayGlobalPauseOption === \"pause\";\n  const url = srcType === SrcType.Url ? srcUrl : srcFile;\n  const shouldAutoPlay = shouldPlay && playing; // Sync UI with state of the audio element\n  // TODO look into better more performant ways of doing this\n  const handlePlayStateUpdate = useCallback(_ => {\n    var ref, ref1;\n    const currentDuration = player.current.duration;\n    const currentTime = player.current.currentTime;\n    (ref = playerInfo.current) === null || ref === void 0 ? void 0 : (ref1 = ref.animation) === null || ref1 === void 0 ? void 0 : ref1.stop();\n    if (Math.abs(currentTime - trackProgress.get()) > .5) {\n      trackProgress.set(currentTime);\n    }\n    if (!shouldPlay) return;\n    const isNowPlaying = checkIfPlaying(player);\n    if (isPlaying !== isNowPlaying) setIsPlaying(isNowPlaying);\n    if (isNowPlaying && shouldPlay) {\n      playerInfo.current.animation = animate(trackProgress, currentDuration, {\n        type: \"tween\",\n        ease: \"linear\",\n        duration: currentDuration - currentTime\n      });\n    }\n  }, [shouldPlay, isPlaying]);\n  const pauseAllAudioPlayers = () => {\n    const audioPlayerElements = document.querySelectorAll(\".framer-audio\");\n    audioPlayerElements.forEach(el => {\n      el.pause();\n    });\n  }; // Always use this for playing audio\n  // No logic in here as it is async & can fail\n  const playAudio = () => {\n    if (shouldPlay) player.current.play().catch(e => {}) // It's likely fine, swallow error\n    ;\n  };\n  const pauseAudio = () => {\n    var ref, ref1;\n    player.current.pause();\n    (ref = playerInfo.current) === null || ref === void 0 ? void 0 : (ref1 = ref.animation) === null || ref1 === void 0 ? void 0 : ref1.stop();\n  };\n  const handleMetadata = () => {\n    if (onMetadata) onMetadata({\n      duration: player.current.duration\n    });\n    setDuration(player.current.duration);\n  };\n  const initProgress = () => {\n    if (!isMotionValue(progress)) player.current.currentTime = progress * .01 * player.current.duration;\n  };\n  const handleReady = () => {\n    // This tries to run on every pause\n    // We use playerInfo.ready to only call on initial load of a source\n    if (!playerInfo.current.ready) {\n      if (shouldAutoPlay) playAudio();\n      playerInfo.current.ready = true;\n      initProgress();\n    }\n  }; // Handle seek event from slider\n  const handleSeek = val => {\n    if (player.current.currentTime) {\n      player.current.currentTime = val;\n      handlePlayStateUpdate(\"handleSeek\");\n    }\n  };\n  const handleEnd = () => {\n    if (onEnd) onEnd();\n  };\n  const handlePlayClick = () => {\n    if (shouldPausePlayers) pauseAllAudioPlayers();\n    playAudio();\n  }; // Control audio via props\n  useEffect(() => {\n    if (shouldPlay) {\n      // In preview when prop changes, pause/play\n      if (playing === true) playAudio();else pauseAudio();\n    } else {\n      // Only set the state for canvas use\n      if (playing === true) setIsPlaying(true);else setIsPlaying(false);\n    }\n  }, [playing]);\n  useEffect(() => {\n    var ref; // Do this in an effect to correct on optimised sites\n    if ((ref = player.current) === null || ref === void 0 ? void 0 : ref.duration) setDuration(player.current.duration);\n  }, []); // Call event callbacks\n  useEffect(() => {\n    if (playerInfo.current.ready && isPlaying && onPlay) onPlay();else if (playerInfo.current.ready && onPause) onPause();\n  }, [isPlaying]); // Volume Control\n  useEffect(() => {\n    player.current.volume = volume / 100;\n  }, [volume]); // Reset ready state when src changes\n  useEffect(() => {\n    playerInfo.current.ready = false;\n  }, [srcFile, srcType, srcUrl]); // Play on navigation\n  useOnEnter(() => {\n    if (shouldAutoPlay) playAudio();\n  });\n  useOnExit(() => {\n    if (pauseOnExit) player.current.pause();\n  });\n  useMotionValueEvent(trackProgress, \"change\", val => {\n    var ref;\n    const progressPercent = ((ref = player.current) === null || ref === void 0 ? void 0 : ref.duration) ? val / player.current.duration * 100 : null;\n    if (onTimeUpdate) {\n      onTimeUpdate(val, progressPercent, secondsToMinutes(val));\n    }\n  });\n  const iconStyles = useMemo(() => ({\n    marginRight: showTime || showTrack ? gap : 0,\n    flexShrink: 0,\n    cursor: playPauseCursor\n  }), [playPauseCursor, showTime, showTrack, gap]);\n  return /*#__PURE__*/_jsxs(\"div\", {\n    style: {\n      ...containerStyles,\n      position: \"relative\",\n      overflow: \"hidden\",\n      background,\n      padding,\n      borderRadius\n    },\n    children: [/*#__PURE__*/_jsx(\"audio\", {\n      src: url,\n      loop: loop,\n      className: \"framer-audio\",\n      ref: player,\n      preload: \"metadata\",\n      autoPlay: shouldAutoPlay,\n      onLoadedMetadata: handleMetadata,\n      onCanPlayThrough: handleReady,\n      // Listen to all events for status changes\n      onPlaying: () => handlePlayStateUpdate(\"playingEvent\"),\n      onPlay: () => handlePlayStateUpdate(\"playEvent\"),\n      onSeeked: () => handlePlayStateUpdate(\"seekEvent\"),\n      onPause: () => handlePlayStateUpdate(\"pauseEvent\"),\n      onEnded: () => handleEnd()\n    }), showPlayPause && /*#__PURE__*/_jsx(_Fragment, {\n      children: isPlaying ? /*#__PURE__*/_jsx(PauseIcon, {\n        width: 16,\n        whileTap: {\n          scale: .9\n        },\n        onClick: () => pauseAudio(),\n        style: iconStyles,\n        \"aria-label\": \"pause audio\"\n      }) : /*#__PURE__*/_jsx(PlayIcon, {\n        width: 16,\n        whileTap: {\n          scale: .9\n        },\n        onClick: handlePlayClick,\n        style: iconStyles,\n        \"aria-label\": \"play audio\"\n      })\n    }), showTime && /*#__PURE__*/_jsxs(\"p\", {\n      style: {\n        userSelect: \"none\",\n        color: \"#333\",\n        fontWeight: 500,\n        letterSpacing: -.25,\n        margin: 0,\n        flexShrink: 0,\n        fontFamily: fontStack,\n        fontVariantNumeric: \"tabular-nums\",\n        marginRight: showTrack ? gap : 0,\n        ...font\n      },\n      children: [/*#__PURE__*/_jsx(PlayTime, {\n        startTime: duration * (isMotionValue(progress) ? progress.get() : progress * .01),\n        currentTime: trackProgress\n      }), /*#__PURE__*/_jsx(\"span\", {\n        style: {\n          padding: \"0 2px\"\n        },\n        children: \"/\"\n      }), duration > 0 ? secondsToMinutes(duration) : \"1:34\"]\n    }), showTrack && /*#__PURE__*/_jsx(Slider, {\n      style: {\n        width: \"100%\"\n      },\n      value: trackProgress,\n      fillColor: progressColor,\n      knobSetting: \"Hover\",\n      shadow: `rgba(0,0,0,0)`,\n      knobSize: 10,\n      knobColor: progressColor,\n      onChange: handleSeek,\n      shouldAnimateChange: false,\n      min: 0,\n      max: duration,\n      trackColor: trackColor\n    })]\n  });\n}\nAudio.defaultProps = {\n  background: \"#EBEBEB\",\n  trackColor: \"#FFFFFF\",\n  font: {\n    fontSize: 12\n  },\n  progressColor: \"#333333\",\n  srcUrl: \"https://assets.mixkit.co/music/preview/mixkit-tech-house-vibes-130.mp3\",\n  srcType: SrcType.Url,\n  pauseOnExit: true,\n  borderRadius: 8,\n  padding: 15,\n  progress: 0,\n  volume: 25,\n  loop: false,\n  playing: true,\n  autoPlay: true,\n  showTime: true,\n  showTrack: true,\n  showPlayPause: true,\n  onPlayGlobalPauseOption: \"continue\",\n  trackHeight: 4,\n  gap: 15,\n  height: 50,\n  width: 240\n};\naddPropertyControls(Audio, {\n  srcType: {\n    type: ControlType.Enum,\n    displaySegmentedControl: true,\n    title: \"Source\",\n    options: [SrcType.Url, SrcType.Video]\n  },\n  srcUrl: {\n    type: ControlType.String,\n    title: \" \",\n    placeholder: \".../example.mp4\",\n    hidden(props) {\n      return props.srcType === SrcType.Video;\n    }\n  },\n  srcFile: {\n    type: ControlType.File,\n    title: \" \",\n    allowedFileTypes: [\"mp4\", \"mp3\", \"wav\", \"m4a\"],\n    hidden(props) {\n      return props.srcType === SrcType.Url;\n    }\n  },\n  playing: {\n    title: \"Playing\",\n    type: ControlType.Boolean,\n    enabledTitle: \"Yes\",\n    disabledTitle: \"No\"\n  },\n  loop: {\n    title: \"Loop\",\n    type: ControlType.Boolean,\n    enabledTitle: \"Yes\",\n    disabledTitle: \"No\"\n  },\n  // autoPlay: {\n  //     type: ControlType.Boolean,\n  //     title: \"Autoplay\",\n  //     enabledTitle: \"Yes\",\n  //     disabledTitle: \"No\",\n  // },\n  progress: {\n    title: \"Progress\",\n    type: ControlType.Number,\n    max: 100,\n    min: 0,\n    unit: \"%\"\n  },\n  volume: {\n    type: ControlType.Number,\n    max: 100,\n    min: 0,\n    unit: \"%\"\n  },\n  progressColor: {\n    title: \"Progress\",\n    type: ControlType.Color,\n    defaultValue: Audio.defaultProps.progressColor\n  },\n  trackColor: {\n    title: \"Track\",\n    type: ControlType.Color,\n    defaultValue: Audio.defaultProps.trackColor\n  },\n  background: {\n    title: \"Player\",\n    type: ControlType.Color,\n    defaultValue: Audio.defaultProps.background\n  },\n  font: {\n    title: \"Font\",\n    // @ts-ignore \u2013 Internal\n    type: ControlType.Font,\n    displayFontSize: true\n  },\n  ...paddingControl,\n  ...borderRadiusControl,\n  gap: {\n    type: ControlType.Number,\n    min: 0,\n    max: 100,\n    displayStepper: true\n  },\n  showPlayPause: {\n    type: ControlType.Boolean,\n    title: \"Play/Pause\",\n    enabledTitle: \"Show\",\n    disabledTitle: \"Hide\"\n  },\n  playPauseCursor: {\n    type: ControlType.Enum,\n    title: \"Cursor\",\n    options: [\"default\", \"pointer\"],\n    optionTitles: [\"Default\", \"Pointer\"],\n    defaultValue: \"default\",\n    hidden(props) {\n      return !props.showPlayPause;\n    }\n  },\n  showTrack: {\n    type: ControlType.Boolean,\n    title: \"Track\",\n    enabledTitle: \"Show\",\n    disabledTitle: \"Hide\"\n  },\n  showTime: {\n    type: ControlType.Boolean,\n    title: \"Time\",\n    enabledTitle: \"Show\",\n    disabledTitle: \"Hide\"\n  },\n  pauseOnExit: {\n    type: ControlType.Boolean,\n    title: \"On Leave\",\n    enabledTitle: \"Pause\",\n    disabledTitle: \"Continue\"\n  },\n  onPlayGlobalPauseOption: {\n    type: ControlType.Enum,\n    title: \"On Play\",\n    options: [\"continue\", \"pause\"],\n    optionTitles: [\"Continue All\", \"Pause All\"]\n  },\n  onPlay: {\n    type: ControlType.EventHandler\n  },\n  onPause: {\n    type: ControlType.EventHandler\n  },\n  onEnd: {\n    type: ControlType.EventHandler\n  },\n  onTimeUpdate: {\n    type: ControlType.EventHandler\n  }\n});\nconst trackStyle = {\n  borderRadius: 10,\n  width: \"100%\",\n  overflow: \"hidden\"\n};\nconst trackParentStyle = {\n  position: \"relative\",\n  border: \"1px solid red\",\n  display: \"flex\",\n  alignItems: \"center\",\n  height: \"100%\",\n  width: \"100%\"\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"Audio\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"Audio\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerIntrinsicWidth\": \"240\",\n        \"framerSupportedLayoutWidth\": \"fixed\",\n        \"framerIntrinsicHeight\": \"50\",\n        \"framerContractVersion\": \"1\",\n        \"framerSupportedLayoutHeight\": \"fixed\"\n      }\n    },\n    \"Props\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./Audio.map"],
  "mappings": "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",
  "names": ["PlayIcon", "props", "p", "motion", "PauseIcon", "u", "FUNC_ERROR_TEXT", "nativeMax", "nativeMin", "NAN", "reTrim", "reIsBadHex", "reIsBinary", "reIsOctal", "freeParseInt", "now", "isObject", "value", "type", "toNumber", "value", "NAN", "isObject", "other", "reTrim", "isBinary", "reIsBinary", "reIsOctal", "freeParseInt", "reIsBadHex", "debounce", "func", "wait", "options", "lastArgs", "lastThis", "maxWait", "result", "timerId", "lastCallTime", "lastInvokeTime", "leading", "maxing", "trailing", "FUNC_ERROR_TEXT", "nativeMax", "invokeFunc", "time", "args", "thisArg", "leadingEdge", "timerExpired", "remainingWait", "timeSinceLastCall", "timeSinceLastInvoke", "timeWaiting", "nativeMin", "shouldInvoke", "now", "trailingEdge", "cancel", "flush", "debounced", "isInvoking", "throttle", "KnobOptions", "Slider", "withCSS", "props", "valueProp", "trackHeight", "fillColor", "focusColor", "min", "max", "onChange", "onChangeLive", "onMax", "onMin", "trackColor", "trackRadius", "knobSize", "knobColor", "constrainKnob", "shadow", "shouldAnimateChange", "transition", "overdrag", "knobSetting", "style", "hovered", "setHovered", "ye", "focused", "setFocused", "onCanvas", "RenderTarget", "shouldAnimate", "isConstrained", "showKnob", "input", "pe", "knobPadding", "updateValue", "newVal", "target", "throttledInputUpdate", "animate", "value", "useAutoMotionValue", "transform", "knobX", "useTransform", "normalizedValue", "throttle", "val", "ref", "useOnChange", "isMotionValue", "handleInputChange", "e", "handleMouseDown", "handleMouseUp", "totalKnobWidth", "totalHeight", "u", "p", "motion", "addPropertyControls", "ControlType", "isMotionValue", "v", "MotionValue", "SrcType", "PlayTime", "props", "currentTime", "startTime", "playTime", "setPlayTime", "ye", "ue", "secondsToMinutes", "useOnChange", "latest", "p", "l", "checkIfPlaying", "player", "Audio", "playing", "background", "progressColor", "trackHeight", "gap", "trackColor", "srcUrl", "srcType", "srcFile", "loop", "font", "autoPlay", "progress", "volume", "showTime", "showTrack", "playPauseCursor", "showPlayPause", "onTimeUpdate", "onMetadata", "onPlay", "onPause", "onEnd", "pauseOnExit", "onPlayGlobalPauseOption", "isPlaying", "setIsPlaying", "duration", "setDuration", "pe", "playerInfo", "trackProgress", "useAutoMotionValue", "value", "newValue", "handlePlayStateUpdate", "padding", "usePadding", "borderRadius", "useRadius", "fontSize", "useFontControls", "shouldPlay", "RenderTarget", "shouldPausePlayers", "url", "shouldAutoPlay", "_", "ref", "ref1", "currentDuration", "isNowPlaying", "animate", "pauseAllAudioPlayers", "el", "playAudio", "e", "pauseAudio", "handleMetadata", "initProgress", "handleReady", "handleSeek", "val", "handleEnd", "handlePlayClick", "useOnEnter", "useOnExit", "useMotionValueEvent", "progressPercent", "iconStyles", "se", "u", "containerStyles", "PauseIcon", "PlayIcon", "fontStack", "Slider", "addPropertyControls", "ControlType", "paddingControl", "borderRadiusControl"]
}
