{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/TO50RZfUZkMws8Mz1efr/Video.js", "ssg:https://framer.com/m/framer/default-utils.js@^0.45.0", "ssg:https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js", "ssg:https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js", "ssg:https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js", "ssg:https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js", "ssg:https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js", "ssg:https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js", "ssg:https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js", "ssg:https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js", "ssg:https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js", "ssg:https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js", "ssg:https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js", "ssg:https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js", "ssg:https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js", "ssg:https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js", "ssg:https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js", "ssg:https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js"],
  "sourcesContent": ["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { addPropertyControls, ControlType, useIsInCurrentNavigationTarget } from \"framer\";\nimport { isMotionValue, useInView } from \"framer-motion\";\nimport { borderRadiusControl, defaultEvents, useIsBrowserSafari, useIsOnCanvas, useOnEnter, useOnExit, useRadius } from \"https://framer.com/m/framer/default-utils.js@^0.45.0\";\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nvar ObjectFitType;\n(function (ObjectFitType) {\n  ObjectFitType[\"Fill\"] = \"fill\";\n  ObjectFitType[\"Contain\"] = \"contain\";\n  ObjectFitType[\"Cover\"] = \"cover\";\n  ObjectFitType[\"None\"] = \"none\";\n  ObjectFitType[\"ScaleDown\"] = \"scale-down\";\n})(ObjectFitType || (ObjectFitType = {}));\nvar SrcType;\n(function (SrcType) {\n  SrcType[\"Video\"] = \"Upload\";\n  SrcType[\"Url\"] = \"URL\";\n})(SrcType || (SrcType = {})); // Reduce renders\nfunction getProps(props) {\n  const {\n    width,\n    height,\n    topLeft,\n    topRight,\n    bottomRight,\n    bottomLeft,\n    id,\n    children,\n    ...rest\n  } = props;\n  return rest;\n} /**\n  * VIDEO\n  *\n  * @framerIntrinsicWidth 200\n  * @framerIntrinsicHeight 112\n  *\n  * @framerSupportedLayoutWidth fixed\n  * @framerSupportedLayoutHeight any-prefer-fixed\n  */\nexport function Video(props) {\n  const newProps = getProps(props);\n  return /*#__PURE__*/_jsx(VideoMemo, {\n    ...newProps\n  });\n}\nfunction usePlaybackControls(videoRef) {\n  const isInCurrentNavigationTarget = useIsInCurrentNavigationTarget();\n  const requestingPlay = useRef(false);\n  const setProgress = useCallback(rawProgress => {\n    if (!videoRef.current) return;\n    const newProgress = (rawProgress === 1 ? .999 : rawProgress) * videoRef.current.duration;\n    const isAlreadySet = Math.abs(videoRef.current.currentTime - newProgress) < .1;\n    if (videoRef.current.duration > 0 && !isAlreadySet) {\n      videoRef.current.currentTime = newProgress;\n    }\n  }, []);\n  const play = useCallback(() => {\n    const isPlaying = videoRef.current.currentTime > 0 && videoRef.current.onplaying && !videoRef.current.paused && !videoRef.current.ended && videoRef.current.readyState > videoRef.current.HAVE_CURRENT_DATA;\n    if (!isPlaying && videoRef.current && !requestingPlay.current && isInCurrentNavigationTarget) {\n      requestingPlay.current = true;\n      videoRef.current.play().catch(e => {}) // It's likely fine, swallow error\n      .finally(() => requestingPlay.current = false);\n    }\n  }, []);\n  const pause = useCallback(() => {\n    if (!videoRef.current || requestingPlay.current) return;\n    videoRef.current.pause();\n  }, []);\n  return {\n    play,\n    pause,\n    setProgress\n  };\n}\nfunction useAutoplayBehavior({\n  playingProp,\n  muted,\n  loop,\n  playsinline,\n  controls\n}) {\n  const [initialPlayingProp] = useState(() => playingProp);\n  const [hasPlayingPropChanged, setHasPlayingPropChanged] = useState(false);\n  if (playingProp !== initialPlayingProp && !hasPlayingPropChanged) {\n    setHasPlayingPropChanged(true);\n  }\n  const behavesAsGif =\n  // passing `playing === true` on mount indicates that the video should\n  // autoplay, like a GIF\n  initialPlayingProp && muted && loop && playsinline && !controls &&\n  // Some users of the <Video> component use it by wrapping it with\n  // another smart component and adding their own controls on top. (The\n  // controls use transitions to control the video: e.g., when clicking\n  // the play button, the smart component will transition to a state with\n  // <Video playing={true} />.) In this case, we don't want the video to\n  // behave as a gif, as it will be weird if the video suddenly started\n  // acting as such (and auto-pausing when leaving the viewport) as soon\n  // as the site visitor mutes it and clicks \u201CPlay\u201D.\n  !hasPlayingPropChanged;\n  let autoplay;\n  if (behavesAsGif) autoplay = \"on-viewport\";else if (initialPlayingProp) autoplay = \"on-mount\";else autoplay = \"no-autoplay\";\n  return autoplay;\n} /**\n  * The Video component has some effects that sync the video element with props\n  * like `startTime`, `progress`, etc. React calls these effects whenever these\n  * props change. However, it also calls them on the first mount, and this is\n  * troublesome \u2013 if we\u2019re doing SSR, and the user changed the video state before\n  * the video was hydrated, the initial `useEffect` call will reset the video\n  * state. To avoid this, we use this flag.\n  */\nlet isMountedAndReadyForProgressChanges = false;\nconst VideoMemo = /*#__PURE__*/memo(function VideoInner(props) {\n  const {\n    srcType,\n    srcFile,\n    srcUrl,\n    playing: playingProp,\n    muted,\n    playsinline,\n    controls,\n    progress,\n    objectFit,\n    backgroundColor,\n    onSeeked,\n    onPause,\n    onPlay,\n    onEnd,\n    onClick,\n    onMouseEnter,\n    onMouseLeave,\n    onMouseDown,\n    onMouseUp,\n    poster,\n    posterEnabled,\n    startTime: startTimeProp,\n    volume,\n    loop\n  } = props;\n  const videoRef = useRef();\n  const isSafari = useIsBrowserSafari();\n  const wasPausedOnLeave = useRef(null);\n  const wasEndedOnLeave = useRef(null);\n  const isOnCanvas = useIsOnCanvas();\n  const borderRadius = useRadius(props); // Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n  // tiny perf optimization. isOnCanvas won\u2019t change through the lifecycle of\n  // the component, so using these hooks conditionally should be safe\n  const autoplayBehavior = isOnCanvas ? \"no-autoplay\" : useAutoplayBehavior({\n    playingProp,\n    muted,\n    loop,\n    playsinline,\n    controls\n  });\n  const isInViewport = isOnCanvas ? true : useInView(videoRef); // Video elements behave oddly at 100% duration\n  const startTime = startTimeProp === 100 ? 99.9 : startTimeProp;\n  const {\n    play,\n    pause,\n    setProgress\n  } = usePlaybackControls(videoRef); // Pause/play via props\n  useEffect(() => {\n    if (isOnCanvas) return;\n    if (playingProp) play();else pause();\n  }, [playingProp]); // Pause/play via viewport\n  useEffect(() => {\n    if (isOnCanvas) return;\n    if (autoplayBehavior !== \"on-viewport\") return;\n    if (isInViewport) play();else pause();\n  }, [autoplayBehavior, isInViewport]); // Allow scrubbling via progress prop\n  // 1) Handle cases when the progress prop itself changes\n  useEffect(() => {\n    if (!isMountedAndReadyForProgressChanges) {\n      isMountedAndReadyForProgressChanges = true;\n      return;\n    }\n    const rawProgressValue = isMotionValue(progress) ? progress.get() : (progress !== null && progress !== void 0 ? progress : 0) * .01;\n    setProgress(\n    // When the progress value exists (e.g. <Video startTime={10}\n    // progress={50} />), we respect the `progress` value over\n    // `startTime`, even if `startTime` changes. That\u2019s because\n    // `startTime` == start == changing it shouldn\u2019t affect the current\n    // progress\n    (rawProgressValue !== null && rawProgressValue !== void 0 ? rawProgressValue : 0) ||\n    // Then why fall back to `startTime` when `progress` doesn\u2019t exist,\n    // you might ask? Now, that\u2019s for\n    // - canvas UX: we want the video progress to change when the user\n    //   is scrobbling the \u201CStart Time\u201D in component settings.\n    // - backwards compatibility: maybe some users *are* scrobbling\n    //   using `startTime` instead of `progress`? We don\u2019t know, and it\n    //   always supported it, so let\u2019s not break it\n    (startTime !== null && startTime !== void 0 ? startTime : 0) / 100);\n  }, [startTime, srcFile, srcUrl, progress]); // 2) Handle cases when the motion value inside the progress prop changes\n  useEffect(() => {\n    if (!isMotionValue(progress)) return;\n    return progress.on(\"change\", value => setProgress(value));\n  }, [progress]); // (Prototyping) Checking if we need to play on navigation enter\n  useOnEnter(() => {\n    if (wasPausedOnLeave.current === null) return;\n    if (videoRef.current) {\n      // if (restartOnEnter) setProgress(0)\n      if (!wasEndedOnLeave && loop || !wasPausedOnLeave.current) play();\n    }\n  }); // (Prototyping) Pausing & saving playing state on navigation exit\n  useOnExit(() => {\n    if (videoRef.current) {\n      wasEndedOnLeave.current = videoRef.current.ended;\n      wasPausedOnLeave.current = videoRef.current.paused;\n      pause();\n    }\n  });\n  const src = useMemo(() => {\n    let fragment = \"\"; // if (\n    //     startTime > 0 &&\n    //     videoRef.current &&\n    //     !isNaN(videoRef.current.duration) &&\n    //     !isOnCanvas\n    // ) {\n    //     console.log(startTime, videoRef.current.duration)\n    //     fragment = `#t=${startTime * videoRef.current.duration}`\n    // }\n    if (srcType === SrcType.Url) return srcUrl + fragment;\n    if (srcType === SrcType.Video) return srcFile + fragment;\n  }, [srcType, srcFile, srcUrl, startTime]); // Autoplay via JS to work in Safari\n  useEffect(() => {\n    if (isSafari && videoRef.current && autoplayBehavior === \"on-mount\") {\n      setTimeout(() => play(), 50);\n    }\n  }, []); // Volume Control\n  useEffect(() => {\n    if (videoRef.current && !muted) videoRef.current.volume = (volume !== null && volume !== void 0 ? volume : 0) / 100;\n  }, [volume]); // When video is ready, set start-time, then autoplay if needed\n  const handleReady = () => {\n    if (!videoRef.current) return;\n    if (videoRef.current.currentTime < .3) setProgress((startTime !== null && startTime !== void 0 ? startTime : 0) * .01);\n    if (autoplayBehavior === \"on-mount\") play();\n  };\n  return /*#__PURE__*/_jsx(\"video\", {\n    onClick,\n    onMouseEnter,\n    onMouseLeave,\n    onMouseDown,\n    onMouseUp,\n    src: src,\n    loop: loop,\n    ref: videoRef,\n    onSeeked: e => {\n      return onSeeked === null || onSeeked === void 0 ? void 0 : onSeeked(e);\n    },\n    onPause: e => {\n      return onPause === null || onPause === void 0 ? void 0 : onPause(e);\n    },\n    onPlay: e => {\n      return onPlay === null || onPlay === void 0 ? void 0 : onPlay(e);\n    },\n    onEnded: e => {\n      return onEnd === null || onEnd === void 0 ? void 0 : onEnd(e);\n    },\n    autoPlay: autoplayBehavior === \"on-mount\",\n    poster: posterEnabled ? poster : undefined,\n    onLoadedData: handleReady,\n    controls: controls,\n    muted: isOnCanvas ? true : muted,\n    playsInline: playsinline,\n    style: {\n      cursor: !!onClick ? \"pointer\" : \"auto\",\n      width: \"100%\",\n      height: \"100%\",\n      borderRadius,\n      display: \"block\",\n      objectFit: objectFit,\n      backgroundColor: backgroundColor,\n      objectPosition: \"50% 50%\"\n    }\n  });\n});\nVideo.displayName = \"Video\";\nVideo.defaultProps = {\n  srcType: SrcType.Url,\n  srcUrl: \"https://assets.mixkit.co/videos/preview/mixkit-ice-cream-glass-of-red-soda-5094-small.mp4\",\n  srcFile: \"\",\n  posterEnabled: false,\n  controls: false,\n  playing: true,\n  loop: true,\n  muted: true,\n  playsinline: true,\n  restartOnEnter: false,\n  objectFit: ObjectFitType.Cover,\n  backgroundColor: \"rgba(0,0,0,0)\",\n  radius: 0,\n  volume: 25,\n  startTime: 0\n};\nconst groupsRegex = /[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu;\nfunction capitalizeFirstLetter(value) {\n  return value.charAt(0).toUpperCase() + value.slice(1);\n}\nexport function titleCase(value) {\n  const groups = value.match(groupsRegex) || [];\n  return groups.map(capitalizeFirstLetter).join(\" \");\n}\nconst objectFitOptions = [ObjectFitType.Cover, ObjectFitType.Fill, ObjectFitType.Contain, ObjectFitType.ScaleDown, ObjectFitType.None];\naddPropertyControls(Video, {\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: \"URL\",\n    placeholder: \"../example.mp4\",\n    hidden(props) {\n      return props.srcType === SrcType.Video;\n    },\n    description: \"Hosted video file URL. For YouTube, use the YouTube component.\"\n  },\n  srcFile: {\n    type: ControlType.File,\n    title: \"File\",\n    allowedFileTypes: [\"mp4\", \"webm\"],\n    hidden(props) {\n      return props.srcType === SrcType.Url;\n    }\n  },\n  playing: {\n    type: ControlType.Boolean,\n    title: \"Playing\",\n    enabledTitle: \"Yes\",\n    disabledTitle: \"No\"\n  },\n  posterEnabled: {\n    type: ControlType.Boolean,\n    title: \"Poster\",\n    enabledTitle: \"Yes\",\n    disabledTitle: \"No\"\n  },\n  poster: {\n    type: ControlType.Image,\n    title: \" \",\n    hidden: ({\n      posterEnabled\n    }) => !posterEnabled\n  },\n  backgroundColor: {\n    type: ControlType.Color,\n    title: \"Background\"\n  },\n  ...borderRadiusControl,\n  startTime: {\n    title: \"Start Time\",\n    type: ControlType.Number,\n    min: 0,\n    max: 100,\n    step: .1,\n    unit: \"%\"\n  },\n  loop: {\n    type: ControlType.Boolean,\n    title: \"Loop\",\n    enabledTitle: \"Yes\",\n    disabledTitle: \"No\"\n  },\n  objectFit: {\n    type: ControlType.Enum,\n    title: \"Fit\",\n    options: objectFitOptions,\n    optionTitles: objectFitOptions.map(titleCase)\n  },\n  // restartOnEnter: {\n  //     type: ControlType.Boolean,\n  //     title: \"On ReEnter\",\n  //     enabledTitle: \"Restart\",\n  //     disabledTitle: \"Resume\",\n  // },\n  controls: {\n    type: ControlType.Boolean,\n    title: \"Controls\",\n    enabledTitle: \"Show\",\n    disabledTitle: \"Hide\"\n  },\n  muted: {\n    type: ControlType.Boolean,\n    title: \"Muted\",\n    enabledTitle: \"Yes\",\n    disabledTitle: \"No\"\n  },\n  volume: {\n    type: ControlType.Number,\n    max: 100,\n    min: 0,\n    unit: \"%\",\n    hidden: ({\n      muted\n    }) => muted\n  },\n  onEnd: {\n    type: ControlType.EventHandler\n  },\n  onSeeked: {\n    type: ControlType.EventHandler\n  },\n  onPause: {\n    type: ControlType.EventHandler\n  },\n  onPlay: {\n    type: ControlType.EventHandler\n  },\n  ...defaultEvents\n});\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"VideoProps\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"titleCase\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"Video\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"Video\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerSupportedLayoutHeight\": \"any-prefer-fixed\",\n        \"framerIntrinsicWidth\": \"200\",\n        \"framerIntrinsicHeight\": \"112\",\n        \"framerContractVersion\": \"1\",\n        \"framerSupportedLayoutWidth\": \"fixed\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./Video.map", "import{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}", "import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n  position: \"relative\",\n  width: \"100%\",\n  height: \"100%\",\n  display: \"flex\",\n  justifyContent: \"center\",\n  alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n  ...containerStyles,\n  borderRadius: 6,\n  background: \"rgba(136, 85, 255, 0.3)\",\n  color: \"#85F\",\n  border: \"1px dashed #85F\",\n  flexDirection: \"column\"\n};\nexport const defaultEvents = {\n  onClick: {\n    type: ControlType.EventHandler\n  },\n  onMouseEnter: {\n    type: ControlType.EventHandler\n  },\n  onMouseLeave: {\n    type: ControlType.EventHandler\n  }\n};\nexport const fontSizeOptions = {\n  type: ControlType.Number,\n  title: \"Font Size\",\n  min: 2,\n  max: 200,\n  step: 1,\n  displayStepper: true\n};\nexport const fontControls = {\n  font: {\n    type: ControlType.Boolean,\n    title: \"Font\",\n    defaultValue: false,\n    disabledTitle: \"Default\",\n    enabledTitle: \"Custom\"\n  },\n  fontFamily: {\n    type: ControlType.String,\n    title: \"Family\",\n    placeholder: \"Inter\",\n    hidden: ({\n      font\n    }) => !font\n  },\n  fontWeight: {\n    type: ControlType.Enum,\n    title: \"Weight\",\n    options: [100, 200, 300, 400, 500, 600, 700, 800, 900],\n    optionTitles: [\"Thin\", \"Extra-light\", \"Light\", \"Regular\", \"Medium\", \"Semi-bold\", \"Bold\", \"Extra-bold\", \"Black\"],\n    hidden: ({\n      font\n    }) => !font\n  }\n};\n// @TODO check if we're missing anything here \u2014 there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n  af: \"Afrikaans\",\n  sq: \"Albanian\",\n  an: \"Aragonese\",\n  ar: \"Arabic (Standard)\",\n  \"ar-dz\": \"Arabic (Algeria)\",\n  \"ar-bh\": \"Arabic (Bahrain)\",\n  \"ar-eg\": \"Arabic (Egypt)\",\n  \"ar-iq\": \"Arabic (Iraq)\",\n  \"ar-jo\": \"Arabic (Jordan)\",\n  \"ar-kw\": \"Arabic (Kuwait)\",\n  \"ar-lb\": \"Arabic (Lebanon)\",\n  \"ar-ly\": \"Arabic (Libya)\",\n  \"ar-ma\": \"Arabic (Morocco)\",\n  \"ar-om\": \"Arabic (Oman)\",\n  \"ar-qa\": \"Arabic (Qatar)\",\n  \"ar-sa\": \"Arabic (Saudi Arabia)\",\n  \"ar-sy\": \"Arabic (Syria)\",\n  \"ar-tn\": \"Arabic (Tunisia)\",\n  \"ar-ae\": \"Arabic (U.A.E.)\",\n  \"ar-ye\": \"Arabic (Yemen)\",\n  hy: \"Armenian\",\n  as: \"Assamese\",\n  ast: \"Asturian\",\n  az: \"Azerbaijani\",\n  eu: \"Basque\",\n  bg: \"Bulgarian\",\n  be: \"Belarusian\",\n  bn: \"Bengali\",\n  bs: \"Bosnian\",\n  br: \"Breton\",\n  my: \"Burmese\",\n  ca: \"Catalan\",\n  ch: \"Chamorro\",\n  ce: \"Chechen\",\n  zh: \"Chinese\",\n  \"zh-hk\": \"Chinese (Hong Kong)\",\n  \"zh-cn\": \"Chinese (PRC)\",\n  \"zh-sg\": \"Chinese (Singapore)\",\n  \"zh-tw\": \"Chinese (Taiwan)\",\n  cv: \"Chuvash\",\n  co: \"Corsican\",\n  cr: \"Cree\",\n  hr: \"Croatian\",\n  cs: \"Czech\",\n  da: \"Danish\",\n  nl: \"Dutch (Standard)\",\n  \"nl-be\": \"Dutch (Belgian)\",\n  en: \"English\",\n  \"en-au\": \"English (Australia)\",\n  \"en-bz\": \"English (Belize)\",\n  \"en-ca\": \"English (Canada)\",\n  \"en-ie\": \"English (Ireland)\",\n  \"en-jm\": \"English (Jamaica)\",\n  \"en-nz\": \"English (New Zealand)\",\n  \"en-ph\": \"English (Philippines)\",\n  \"en-za\": \"English (South Africa)\",\n  \"en-tt\": \"English (Trinidad & Tobago)\",\n  \"en-gb\": \"English (United Kingdom)\",\n  \"en-us\": \"English (United States)\",\n  \"en-zw\": \"English (Zimbabwe)\",\n  eo: \"Esperanto\",\n  et: \"Estonian\",\n  fo: \"Faeroese\",\n  fa: \"Farsi\",\n  fj: \"Fijian\",\n  fi: \"Finnish\",\n  fr: \"French (Standard)\",\n  \"fr-be\": \"French (Belgium)\",\n  \"fr-ca\": \"French (Canada)\",\n  \"fr-fr\": \"French (France)\",\n  \"fr-lu\": \"French (Luxembourg)\",\n  \"fr-mc\": \"French (Monaco)\",\n  \"fr-ch\": \"French (Switzerland)\",\n  fy: \"Frisian\",\n  fur: \"Friulian\",\n  gd: \"Gaelic (Scots)\",\n  \"gd-ie\": \"Gaelic (Irish)\",\n  gl: \"Galacian\",\n  ka: \"Georgian\",\n  de: \"German (Standard)\",\n  \"de-at\": \"German (Austria)\",\n  \"de-de\": \"German (Germany)\",\n  \"de-li\": \"German (Liechtenstein)\",\n  \"de-lu\": \"German (Luxembourg)\",\n  \"de-ch\": \"German (Switzerland)\",\n  el: \"Greek\",\n  gu: \"Gujurati\",\n  ht: \"Haitian\",\n  he: \"Hebrew\",\n  hi: \"Hindi\",\n  hu: \"Hungarian\",\n  is: \"Icelandic\",\n  id: \"Indonesian\",\n  iu: \"Inuktitut\",\n  ga: \"Irish\",\n  it: \"Italian (Standard)\",\n  \"it-ch\": \"Italian (Switzerland)\",\n  ja: \"Japanese\",\n  kn: \"Kannada\",\n  ks: \"Kashmiri\",\n  kk: \"Kazakh\",\n  km: \"Khmer\",\n  ky: \"Kirghiz\",\n  tlh: \"Klingon\",\n  ko: \"Korean\",\n  \"ko-kp\": \"Korean (North Korea)\",\n  \"ko-kr\": \"Korean (South Korea)\",\n  la: \"Latin\",\n  lv: \"Latvian\",\n  lt: \"Lithuanian\",\n  lb: \"Luxembourgish\",\n  mk: \"FYRO Macedonian\",\n  ms: \"Malay\",\n  ml: \"Malayalam\",\n  mt: \"Maltese\",\n  mi: \"Maori\",\n  mr: \"Marathi\",\n  mo: \"Moldavian\",\n  nv: \"Navajo\",\n  ng: \"Ndonga\",\n  ne: \"Nepali\",\n  no: \"Norwegian\",\n  nb: \"Norwegian (Bokmal)\",\n  nn: \"Norwegian (Nynorsk)\",\n  oc: \"Occitan\",\n  or: \"Oriya\",\n  om: \"Oromo\",\n  \"fa-ir\": \"Persian/Iran\",\n  pl: \"Polish\",\n  pt: \"Portuguese\",\n  \"pt-br\": \"Portuguese (Brazil)\",\n  pa: \"Punjabi\",\n  \"pa-in\": \"Punjabi (India)\",\n  \"pa-pk\": \"Punjabi (Pakistan)\",\n  qu: \"Quechua\",\n  rm: \"Rhaeto-Romanic\",\n  ro: \"Romanian\",\n  \"ro-mo\": \"Romanian (Moldavia)\",\n  ru: \"Russian\",\n  \"ru-mo\": \"Russian (Moldavia)\",\n  sz: \"Sami (Lappish)\",\n  sg: \"Sango\",\n  sa: \"Sanskrit\",\n  sc: \"Sardinian\",\n  sd: \"Sindhi\",\n  si: \"Singhalese\",\n  sr: \"Serbian\",\n  sk: \"Slovak\",\n  sl: \"Slovenian\",\n  so: \"Somani\",\n  sb: \"Sorbian\",\n  es: \"Spanish\",\n  \"es-ar\": \"Spanish (Argentina)\",\n  \"es-bo\": \"Spanish (Bolivia)\",\n  \"es-cl\": \"Spanish (Chile)\",\n  \"es-co\": \"Spanish (Colombia)\",\n  \"es-cr\": \"Spanish (Costa Rica)\",\n  \"es-do\": \"Spanish (Dominican Republic)\",\n  \"es-ec\": \"Spanish (Ecuador)\",\n  \"es-sv\": \"Spanish (El Salvador)\",\n  \"es-gt\": \"Spanish (Guatemala)\",\n  \"es-hn\": \"Spanish (Honduras)\",\n  \"es-mx\": \"Spanish (Mexico)\",\n  \"es-ni\": \"Spanish (Nicaragua)\",\n  \"es-pa\": \"Spanish (Panama)\",\n  \"es-py\": \"Spanish (Paraguay)\",\n  \"es-pe\": \"Spanish (Peru)\",\n  \"es-pr\": \"Spanish (Puerto Rico)\",\n  \"es-es\": \"Spanish (Spain)\",\n  \"es-uy\": \"Spanish (Uruguay)\",\n  \"es-ve\": \"Spanish (Venezuela)\",\n  sx: \"Sutu\",\n  sw: \"Swahili\",\n  sv: \"Swedish\",\n  \"sv-fi\": \"Swedish (Finland)\",\n  \"sv-sv\": \"Swedish (Sweden)\",\n  ta: \"Tamil\",\n  tt: \"Tatar\",\n  te: \"Teluga\",\n  th: \"Thai\",\n  tig: \"Tigre\",\n  ts: \"Tsonga\",\n  tn: \"Tswana\",\n  tr: \"Turkish\",\n  tk: \"Turkmen\",\n  uk: \"Ukrainian\",\n  hsb: \"Upper Sorbian\",\n  ur: \"Urdu\",\n  ve: \"Venda\",\n  vi: \"Vietnamese\",\n  vo: \"Volapuk\",\n  wa: \"Walloon\",\n  cy: \"Welsh\",\n  xh: \"Xhosa\",\n  ji: \"Yiddish\",\n  zu: \"Zulu\"\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"fontSizeOptions\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"fontControls\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"localeOptions\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"fontStack\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"emptyStateStyle\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"containerStyles\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"defaultEvents\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./constants.map", "import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n  return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n  return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n  const isInTarget = useIsInCurrentNavigationTarget();\n  useEffect(() => {\n    if (enabled && isInTarget === goal) callback();\n  }, [isInTarget]);\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"useOnEnter\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useOnExit\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./useOnNavigationTargetChange.map", "import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */\nexport function useConstant(init) {\n  const ref = useRef(null);\n  if (ref.current === null) {\n    ref.current = init();\n  }\n  return ref.current;\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"useConstant\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./useConstant.map", "import { Color } from \"framer\";\nexport function colorFromToken(color) {\n  if (color.startsWith(\"var(--token-\")) return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1];\n  return color;\n}\nexport function colorTokentoValue(color) {\n  return Color(colorFromToken(color)).toValue();\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"colorFromToken\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"colorTokentoValue\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./colorFromToken.map", "import { MotionValue } from \"framer\";\nexport const isMotionValue = v => v instanceof MotionValue;\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"isMotionValue\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./isMotionValue.map", "import * as React from \"react\";\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\nconst l = () => letters[Math.floor(Math.random() * letters.length)];\nexport const randomID = () => l() + l() + l() + l() + l() + l() + l() + l() + l();\nfunction createUniqueClass(suffix) {\n  return `framer-${suffix}-${randomID()}`;\n}\nexport function useUniqueClassName(suffix, deps) {\n  const [className, setClassName] = React.useState(createUniqueClass(suffix));\n  React.useEffect(() => {\n    setClassName(createUniqueClass(suffix));\n  }, [suffix, ...deps]);\n  return className;\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"useUniqueClassName\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"randomID\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./useUniqueClassName.map", "import { ControlType } from \"framer\";\n// I realize this only applies to select right now\n// but we can work on it in here\nexport function getVariantControls(Component, variant, additionalControls = {}) {\n  return {\n    [`${variant}TextColor`]: {\n      type: ControlType.Color,\n      title: \"Text Color\",\n      defaultValue: Component.defaultProps[`${variant}TextColor`],\n      hidden: props => props.variant !== variant\n    },\n    [`${variant}IconColor`]: {\n      type: ControlType.Color,\n      title: \"Icon Color\",\n      defaultValue: Component.defaultProps[`${variant}IconColor`],\n      hidden: props => props.variant !== variant\n    },\n    [`${variant}BackgroundColor`]: {\n      type: ControlType.Color,\n      title: \"Bg Color\",\n      defaultValue: Component.defaultProps[`${variant}BackgroundColor`],\n      hidden: props => props.variant !== variant\n    },\n    [`${variant}BorderColor`]: {\n      type: ControlType.Color,\n      title: \"Border Color\",\n      defaultValue: Component.defaultProps[`${variant}BorderColor`],\n      hidden: props => props.variant !== variant\n    },\n    [`${variant}BorderWidth`]: {\n      type: ControlType.Number,\n      title: \" \",\n      min: 0,\n      max: 5,\n      displayStepper: true,\n      defaultValue: Component.defaultProps[`${variant}BorderWidth`],\n      hidden: props => props.variant !== variant\n    },\n    ...additionalControls\n  };\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"getVariantControls\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./variantUtils.map", "import { useMemo } from \"react\";\nexport const isBrowserSafari = () => {\n  if (typeof navigator !== `undefined`) {\n    const userAgent = navigator.userAgent.toLowerCase();\n    const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n    return isSafari;\n  } else return false;\n};\nexport const useIsBrowserSafari = () => useMemo(() => isBrowserSafari(), []);\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"useIsBrowserSafari\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"isBrowserSafari\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./isBrowser.map", "import { useEffect } from \"react\";\n//@ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nexport function useOnChange(value, callback) {\n  useEffect(() =>\n  // @ts-ignore this should be detected as a MV :shrug:\n  isMotionValue(value) ? value.onChange(callback) : undefined);\n}\nexport function useMultiOnChange(values, handler) {\n  useEffect(() => {\n    const subscriptions = values.map(value => value.onChange(handler));\n    return () => subscriptions.forEach(unsubscribe => unsubscribe());\n  });\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"Subscriber\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useOnChange\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useMultiOnChange\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./useOnChange.map", "export function mstoMinAndSec(millis) {\n  const minutes = Math.floor(millis / 60000);\n  const seconds = parseInt((millis % 60000 / 1000).toFixed(0));\n  return minutes + \":\" + (seconds < 10 ? \"0\" : \"\") + seconds;\n}\nexport function secondsToMinutes(seconds) {\n  const minutes = Math.floor(seconds / 60);\n  const s = Math.floor(seconds % 60);\n  return minutes + \":\" + (s < 10 ? \"0\" : \"\") + s;\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"mstoMinAndSec\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"secondsToMinutes\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./time.map", "import { useCallback, useEffect, useRef } from \"react\";\nimport { motionValue, animate, RenderTarget } from \"framer\";\n// @ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\n// @ts-ignore\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nexport function useAutoMotionValue(inputValue, options) {\n  var ref;\n  // Put options on a local ref\n  // Might wanna just memo instead but it works for now\n  const optionsRef = useRef(options);\n  const animation = useRef();\n  const didInitialMount = useRef(false);\n  const isOnCanvas = RenderTarget.current() === RenderTarget.canvas;\n  // in-progress - trying to figure out effect hooks\n  const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : [];\n  // Memoize the onChange handler\n  const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [...onChangeDeps]);\n  // Optionally scale the value from props\n  const transformer = useCallback(value => ((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value, []);\n  // Create new MotionValue from inputValue\n  const value = useConstant(() => isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue)));\n  // Setting value from prop change\n  useEffect(() => {\n    if (!isMotionValue(inputValue) && didInitialMount.current) {\n      var ref1, ref2;\n      const newValue = transformer(inputValue);\n      (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop();\n      // Call change callback\n      if (onChange) onChange(newValue, value);\n      // Trigger animation to new value\n      if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) {\n        var ref3;\n        // @ts-ignore\n        animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition);\n      } else {\n        value.set(newValue);\n      }\n    }\n    didInitialMount.current = true;\n  }, [inputValue, ...onChangeDeps]);\n  return value;\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"useAutoMotionValue\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};", "// @ts-ignore\nimport { fontStore } from \"framer\";\nimport { useEffect } from \"react\";\nimport { fontStack } from \"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";\nconst fontWeights = {\n  100: \"Thin\",\n  200: \"Extra-light\",\n  300: \"Light\",\n  400: \"Regular\",\n  500: \"Medium\",\n  600: \"Semi-bold\",\n  700: \"Bold\",\n  800: \"Extra-bold\",\n  900: \"Black\"\n};\nexport function useFontControls(props) {\n  const {\n    fontFamily = \"Inter\",\n    fontSize = 16,\n    fontWeight = 400,\n    font = false\n  } = props;\n  const fontWeightName = fontWeights[fontWeight];\n  const customFontStack = `\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;\n  const fontFamilyStyle = fontFamily ? {\n    fontSize,\n    fontWeight,\n    fontFamily: customFontStack\n  } : {\n    fontSize,\n    fontWeight\n  };\n  const fetchCustomFonts = async () => {\n    await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`, `CUSTOM;${fontFamily} ${fontWeightName}`, `GF;${fontFamily}-${fontWeightName.toLowerCase()}`]).catch(e => console.error(e));\n  };\n  useEffect(() => {\n    if (font) fetchCustomFonts();\n  }, [font, fontFamily, fontWeight]);\n  return fontFamilyStyle;\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"useFontControls\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./useFontControls.map", "import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n  const currentRenderTarget = useMemo(() => RenderTarget.current(), []);\n  return currentRenderTarget;\n}\nexport function useIsInPreview() {\n  const inPreview = useMemo(() => RenderTarget.current() === RenderTarget.preview, []);\n  return inPreview;\n}\nexport function useIsOnCanvas() {\n  const onCanvas = useMemo(() => RenderTarget.current() === RenderTarget.canvas, []);\n  return onCanvas;\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"useIsInPreview\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useRenderTarget\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useIsOnCanvas\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./useRenderTarget.map", "import * as React from \"react\";\nexport function useControlledState(value) {\n  const [controlledValue, setValue] = React.useState(value);\n  React.useEffect(() => {\n    setValue(value);\n  }, [value]);\n  return [controlledValue, setValue];\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"useControlledState\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./useControlledState.map", "import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n  const {\n    borderRadius,\n    isMixedBorderRadius,\n    topLeftRadius,\n    topRightRadius,\n    bottomRightRadius,\n    bottomLeftRadius\n  } = props;\n  const radiusValue = useMemo(() => isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`, [borderRadius, isMixedBorderRadius, topLeftRadius, topRightRadius, bottomRightRadius, bottomLeftRadius]);\n  return radiusValue;\n}\nexport const borderRadiusControl = {\n  borderRadius: {\n    title: \"Radius\",\n    type: ControlType.FusedNumber,\n    toggleKey: \"isMixedBorderRadius\",\n    toggleTitles: [\"Radius\", \"Radius per corner\"],\n    valueKeys: [\"topLeftRadius\", \"topRightRadius\", \"bottomRightRadius\", \"bottomLeftRadius\"],\n    valueLabels: [\"TL\", \"TR\", \"BR\", \"BL\"],\n    min: 0\n  }\n};\nexport function usePadding(props) {\n  const {\n    padding,\n    paddingPerSide,\n    paddingTop,\n    paddingRight,\n    paddingBottom,\n    paddingLeft\n  } = props;\n  const paddingValue = useMemo(() => paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding, [padding, paddingPerSide, paddingTop, paddingRight, paddingBottom, paddingLeft]);\n  return paddingValue;\n}\nexport const paddingControl = {\n  padding: {\n    type: ControlType.FusedNumber,\n    toggleKey: \"paddingPerSide\",\n    toggleTitles: [\"Padding\", \"Padding per side\"],\n    valueKeys: [\"paddingTop\", \"paddingRight\", \"paddingBottom\", \"paddingLeft\"],\n    valueLabels: [\"T\", \"R\", \"B\", \"L\"],\n    min: 0,\n    title: \"Padding\"\n  }\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"borderRadiusControl\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useRadius\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"RadiusProps\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"PaddingProps\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"usePadding\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"paddingControl\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./propUtils.map", "export function detectAutoSizingAxis(props) {\n  var ref, ref1;\n  return {\n    width: ((ref = props.style) === null || ref === void 0 ? void 0 : ref.width) !== \"100%\",\n    height: ((ref1 = props.style) === null || ref1 === void 0 ? void 0 : ref1.height) !== \"100%\"\n  };\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"detectAutoSizingAxis\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./detectAutoSizingAxis.map"],
  "mappings": "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",
  "names": ["init_shims", "init_shims", "init_shims", "containerStyles", "emptyStateStyle", "defaultEvents", "ControlType", "fontSizeOptions", "fontControls", "font", "init_shims", "useOnEnter", "onEnter", "enabled", "useOnSpecificTargetChange", "useOnExit", "onExit", "goal", "callback", "isInTarget", "useIsInCurrentNavigationTarget", "ue", "init_shims", "init_shims", "init_shims", "init_shims", "init_shims", "init_shims", "isBrowserSafari", "userAgent", "useIsBrowserSafari", "se", "init_shims", "init_shims", "init_shims", "init_shims", "init_shims", "useIsOnCanvas", "se", "RenderTarget", "init_shims", "init_shims", "useRadius", "props", "borderRadius", "isMixedBorderRadius", "topLeftRadius", "topRightRadius", "bottomRightRadius", "bottomLeftRadius", "se", "borderRadiusControl", "ControlType", "paddingControl", "ControlType", "init_shims", "ObjectFitType", "SrcType", "getProps", "props", "width", "height", "topLeft", "topRight", "bottomRight", "bottomLeft", "id", "children", "rest", "Video", "newProps", "p", "VideoMemo", "usePlaybackControls", "videoRef", "isInCurrentNavigationTarget", "useIsInCurrentNavigationTarget", "requestingPlay", "pe", "setProgress", "te", "rawProgress", "newProgress", "isAlreadySet", "play", "e", "pause", "useAutoplayBehavior", "playingProp", "muted", "loop", "playsinline", "controls", "initialPlayingProp", "ye", "hasPlayingPropChanged", "setHasPlayingPropChanged", "behavesAsGif", "autoplay", "isMountedAndReadyForProgressChanges", "X", "srcType", "srcFile", "srcUrl", "progress", "objectFit", "backgroundColor", "onSeeked", "onPause", "onPlay", "onEnd", "onClick", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "poster", "posterEnabled", "startTimeProp", "volume", "isSafari", "useIsBrowserSafari", "wasPausedOnLeave", "wasEndedOnLeave", "isOnCanvas", "useIsOnCanvas", "borderRadius", "useRadius", "autoplayBehavior", "isInViewport", "useInView", "startTime", "ue", "rawProgressValue", "isMotionValue", "value", "useOnEnter", "useOnExit", "src", "se", "fragment", "groupsRegex", "capitalizeFirstLetter", "titleCase", "objectFitOptions", "addPropertyControls", "ControlType", "borderRadiusControl", "defaultEvents"]
}
