{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/3Xi2AslpcDRhfyCVPmx3/d0Oobr5BHnVqZJQyMdGn/storage.js", "ssg:https://framerusercontent.com/modules/m2nL4qHNbqX9QCxsHsGL/aEuoU9xXdHzXrnVcCkrq/cache.js", "ssg:https://framerusercontent.com/modules/aokp9DDPTWaRLrvhFlr7/TOPzYi8C28I7KdesjP2s/Video.js"],
  "sourcesContent": ["export function Storage(name) {\n  this.ready = new Promise((resolve, reject) => {\n    var request = window.indexedDB.open(location.origin);\n    request.onupgradeneeded = e => {\n      this.db = e.target[\"result\"];\n      this.db.createObjectStore(\"store\");\n    };\n    request.onsuccess = e => {\n      this.db = e.target[\"result\"];\n      resolve();\n    };\n    request.onerror = e => {\n      this.db = e.target[\"result\"];\n      reject(e);\n    };\n  });\n}\nStorage.prototype.get = function (key) {\n  return this.ready.then(() => {\n    return new Promise((resolve, reject) => {\n      var request = this.getStore().get(key);\n      request.onsuccess = e => resolve(e.target.result);\n      request.onerror = reject;\n    });\n  });\n};\nStorage.prototype.getStore = function () {\n  return this.db.transaction([\"store\"], \"readwrite\").objectStore(\"store\");\n};\nStorage.prototype.set = function (key, value) {\n  return this.ready.then(() => {\n    return new Promise((resolve, reject) => {\n      var request = this.getStore().put(value, key);\n      request.onsuccess = resolve;\n      request.onerror = reject;\n    });\n  });\n};\nStorage.prototype.delete = function (key, value) {\n  window.indexedDB.deleteDatabase(location.origin);\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"Storage\": {\n      \"type\": \"function\"\n    }\n  }\n};", "// @ts-ignore\nimport { Storage } from \"https://framerusercontent.com/modules/3Xi2AslpcDRhfyCVPmx3/d0Oobr5BHnVqZJQyMdGn/storage.js\";\nexport const hashCode = s => s.split(\"\").reduce((a, b) => {\n  a = (a << 5) - a + b.charCodeAt(0);\n  return a & a;\n}, 0);\nexport function corsProxy(url) {\n  return `https://cors-anywhere.herokuapp.com/${url}`;\n}\nexport async function cachedResponse(url, cache = new Storage(\"cache\")) {\n  const cacheKey = url;\n  const data = await cache.get(cacheKey);\n  if (data) {\n    return data;\n  } else {\n    var req = new XMLHttpRequest();\n    req.open(\"GET\", url, true);\n    req.responseType = \"blob\";\n    return new Promise((resolve, reject) => {\n      req.onload = async function () {\n        if (this.status === 200) {\n          await cache.set(url, this.response);\n          resolve(this.response);\n        } else {\n          reject(new Error(`Response status ${this.status} ${this.statusText}`));\n        }\n      };\n      req.onerror = function (error) {\n        reject(error);\n      };\n      req.send();\n    });\n  }\n}\nexport async function checkForCachedData(url, cache = new Storage(\"cache\")) {\n  const cacheKey = url;\n  const data = await cache.get(cacheKey);\n  if (data) {\n    return data;\n  } else {\n    return null;\n  }\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"hashCode\": {\n      \"type\": \"variable\"\n    },\n    \"checkForCachedData\": {\n      \"type\": \"function\"\n    },\n    \"corsProxy\": {\n      \"type\": \"function\"\n    },\n    \"cachedResponse\": {\n      \"type\": \"function\"\n    }\n  }\n};", "import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useRef, useEffect, useMemo, useCallback, memo } from \"react\";\nimport { ControlType, RenderTarget, addPropertyControls, useIsInCurrentNavigationTarget } from \"framer\";\nimport { cachedResponse, corsProxy, hashCode, checkForCachedData } from \"https://framer.com/m/framer/default-video-utils.js\";\nimport { useOnEnter, useOnExit, defaultEvents, useAutoMotionValue, useIsBrowserSafari } from \"https://framer.com/m/framer/default-utils.js@^0.45.0\";\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 LoopType;\n(function (LoopType) {\n  LoopType[\"StartTime\"] = \"startTime\";\n  LoopType[\"Beginning\"] = \"beginning\";\n  LoopType[\"NoLoop\"] = \"noLoop\";\n})(LoopType || (LoopType = {}));\nvar PreloadType;\n(function (PreloadType) {\n  PreloadType[\"None\"] = \"none\";\n  PreloadType[\"MetaData\"] = \"metadata\";\n  PreloadType[\"Auto\"] = \"auto\";\n  PreloadType[\"ForceCache\"] = \"force\";\n})(PreloadType || (PreloadType = {}));\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 200\n  *\n  * @framerSupportedLayoutWidth fixed\n  * @framerSupportedLayoutHeight any\n  */\nexport function Video(props) {\n  const newProps = getProps(props);\n  return /*#__PURE__*/_jsx(VideoMemo, {\n    ...newProps\n  });\n}\nconst VideoMemo = /*#__PURE__*/memo(function VideoInner(props) {\n  const {\n    srcType,\n    srcFile,\n    srcUrl,\n    playing,\n    canvasPlay,\n    loopType,\n    muted,\n    playsinline,\n    controls,\n    preload,\n    progress,\n    objectFit,\n    backgroundColor,\n    radius,\n    topLeft,\n    topRight,\n    bottomRight,\n    bottomLeft,\n    isMixed,\n    onSeeked,\n    onPause,\n    onPlay,\n    onEnd,\n    onClick,\n    onMouseEnter,\n    onMouseLeave,\n    onMouseDown,\n    onMouseUp,\n    poster,\n    restartOnEnter,\n    posterEnabled,\n    startTime: startTimeProp,\n    volume\n  } = props;\n  const isInCurrentNavigationTarget = useIsInCurrentNavigationTarget(); // video elements behave oddly at 100% duration\n  const startTime = startTimeProp === 100 ? 99.9 : startTimeProp;\n  const videoRef = useRef();\n  const isLoaded = useRef(false);\n  const isSafari = useIsBrowserSafari();\n  const wasPausedOnLeave = useRef(null);\n  const wasEndedOnLeave = useRef(null);\n  const loop = loopType !== LoopType.NoLoop;\n  const fullLoop = loopType === LoopType.Beginning;\n  const isCanvas = useMemo(() => RenderTarget.current() !== RenderTarget.preview, []);\n  const isForcedCache = preload === PreloadType.ForceCache;\n  const isAutoCache = preload === PreloadType.Auto;\n  const isMuted = useMemo(() => isCanvas ? true : muted, [isCanvas, muted]);\n  const shouldPlay = !isCanvas || canvasPlay;\n  const autoPlay = useMemo(() => playing, []);\n  const play = useCallback(() => {\n    var ref;\n    if (isInCurrentNavigationTarget) (ref = videoRef.current) === null || ref === void 0 ? void 0 : ref.play();\n  }, []);\n  const pause = useCallback(() => {\n    var ref;\n    return (ref = videoRef.current) === null || ref === void 0 ? void 0 : ref.pause();\n  }, []);\n  const restartVideo = useCallback((playAfter = true) => {\n    if (!fullLoop) setProgress(startTime, playAfter);else play();\n  }, [startTime, fullLoop]);\n  const setProgress = (newProgress, playAfter = false) => {\n    if (videoRef.current) {\n      const isAlreadySet = Math.abs(videoRef.current.currentTime - newProgress * 0.01 * videoRef.current.duration) < 0.3;\n      if (videoRef.current.duration > 0 && !isAlreadySet) videoRef.current.currentTime = newProgress * 0.01 * videoRef.current.duration;\n      if (autoPlay && shouldPlay && playAfter) play();\n    }\n  }; // Change progress via prop\n  useEffect(() => {\n    setProgress(startTime);\n  }, [startTimeProp, srcFile, srcUrl]);\n  const videoProgress = useAutoMotionValue(progress, {\n    transform: value => value * 0.01,\n    onChange: (newValue, value) => {\n      setProgress(newValue);\n    }\n  }); // Checking if we need to play on navigation enter\n  useOnEnter(() => {\n    if (wasPausedOnLeave.current === null) return;\n    if (videoRef.current) {\n      if (restartOnEnter) restartVideo(!wasPausedOnLeave.current || wasEndedOnLeave.current);else if (!wasEndedOnLeave && loop || !wasPausedOnLeave.current) play();\n    }\n  }); // 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 getUrl = useCallback((cors = false) => {\n    if (srcType === SrcType.Url) {\n      return cors ? corsProxy(srcUrl) : srcUrl;\n    }\n    if (srcType === SrcType.Video) {\n      return srcFile;\n    }\n  }, [srcType, srcFile, srcUrl]); // Logic for cache options\n  const setVideoRef = useCallback(async element => {\n    if (!element) return;\n    videoRef.current = element;\n    if (isSafari) {\n      videoRef.current[\"src\"] = getUrl();\n      return;\n    }\n    if (preload === PreloadType.ForceCache) {\n      if (isLoaded.current) return;\n      const url = getUrl(true);\n      const response = await cachedResponse(url);\n      if (response && videoRef.current) {\n        videoRef.current[\"src\"] = URL.createObjectURL(response) // IE10+\n        ;\n        isLoaded.current = true;\n      }\n    } else if (preload === PreloadType.Auto) {\n      if (isLoaded.current) return;\n      const url = getUrl(true);\n      const response = await checkForCachedData(url);\n      if (response && videoRef.current) videoRef.current[\"src\"] = URL.createObjectURL(response);else videoRef.current[\"src\"] = getUrl();\n      isLoaded.current = true;\n    }\n  }, [preload]); // Trigger rerender & reload when key props change\n  useEffect(() => {\n    if (isCanvas) isLoaded.current = false;\n    setVideoRef(videoRef.current);\n  }, [srcFile, srcUrl, srcType, posterEnabled, canvasPlay, preload, loop, autoPlay]); // Pause/play via props\n  useEffect(() => {\n    if (playing && shouldPlay) play();else pause();\n  }, [playing]); // Autoplay via JS to work in Safari\n  useEffect(() => {\n    if (isSafari && videoRef.current && autoPlay) {\n      setTimeout(() => {\n        play();\n      }, 50);\n    }\n  }, []); // Volume Control\n  useEffect(() => {\n    if (videoRef.current && !muted) videoRef.current.volume = volume / 100;\n  }, [volume]);\n  const key = useMemo(() => hashCode(JSON.stringify({\n    srcType,\n    srcUrl,\n    srcFile,\n    autoPlay,\n    canvasPlay,\n    isForcedCache\n  })), [srcType, srcUrl, srcFile, autoPlay, canvasPlay, isForcedCache]);\n  const borderRadius = isMixed ? `${topLeft}px ${topRight}px ${bottomRight}px ${bottomLeft}px` : `${radius}px`;\n  const src = useMemo(() => (isForcedCache || isAutoCache) && !isSafari ? null : getUrl(), [isSafari, isAutoCache, isForcedCache]);\n  return /*#__PURE__*/_jsx(\"video\", {\n    autoPlay: autoPlay && shouldPlay,\n    ref: setVideoRef,\n    onClick,\n    onMouseEnter,\n    onMouseLeave,\n    onMouseDown,\n    onMouseUp,\n    poster: posterEnabled ? poster : undefined,\n    style: {\n      width: \"100%\",\n      height: \"100%\",\n      borderRadius,\n      display: \"block\",\n      objectFit: objectFit,\n      backgroundColor: backgroundColor,\n      objectPosition: \"50% 50%\"\n    },\n    onSeeked: e => {\n      if (onSeeked) onSeeked(e);\n    },\n    onPause: e => {\n      if (onPause) onPause(e);\n    },\n    onPlay: e => {\n      if (onPlay) onPlay(e);\n    },\n    onEnded: e => {\n      if (onEnd) onEnd(e);\n      if (loop && shouldPlay && videoRef.current) restartVideo();\n    },\n    onCanPlay: () => {\n      if (shouldPlay && videoRef.current && autoPlay) play();else pause();\n      if (videoRef.current && videoRef.current.currentTime < 0.3) setProgress(startTime);\n    },\n    src: src,\n    controls: isCanvas ? false : controls,\n    muted: isMuted,\n    playsInline: playsinline\n  }, key);\n});\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: true,\n  poster: \"https://misc.framerstatic.com/components/video-poster.jpg\",\n  controls: false,\n  autoPlay: true,\n  canvasPlay: false,\n  fullLoop: false,\n  muted: true,\n  playsinline: true,\n  restartOnEnter: false,\n  preload: PreloadType.Auto,\n  objectFit: ObjectFitType.Cover,\n  backgroundColor: \"rgba(0,0,0,0)\",\n  radius: 0,\n  volume: 25,\n  startTime: 0\n};\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: \" \",\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\"],\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    defaultValue: Video.defaultProps.poster,\n    hidden: ({\n      posterEnabled\n    }) => !posterEnabled\n  },\n  backgroundColor: {\n    type: ControlType.Color,\n    title: \"Background\"\n  },\n  radius: {\n    title: \"Radius\",\n    type: ControlType.FusedNumber,\n    toggleKey: \"isMixed\",\n    toggleTitles: [\"Radius\", \"Radius per corner\"],\n    valueKeys: [\"topLeft\", \"topRight\", \"bottomRight\", \"bottomLeft\"],\n    valueLabels: [\"TL\", \"TR\", \"BR\", \"BL\"],\n    min: 0\n  },\n  startTime: {\n    title: \"Start Time\",\n    type: ControlType.Number,\n    min: 0,\n    max: 100,\n    step: 0.1,\n    unit: \"%\"\n  },\n  loopType: {\n    type: ControlType.Enum,\n    title: \"Loop\",\n    optionTitles: [\"From Start Time\", \"From Beginning\", \"Don't Loop\"],\n    options: [LoopType.StartTime, LoopType.Beginning, LoopType.NoLoop]\n  },\n  objectFit: {\n    type: ControlType.Enum,\n    title: \"Fit\",\n    options: [ObjectFitType.Cover, ObjectFitType.Fill, ObjectFitType.Contain, ObjectFitType.ScaleDown, ObjectFitType.None]\n  },\n  canvasPlay: {\n    type: ControlType.Boolean,\n    title: \"On Canvas\",\n    enabledTitle: \"Play\",\n    disabledTitle: \"Pause\",\n    hidden(props) {\n      return props.autoPlay === false;\n    }\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  // playsinline: { type: ControlType.Boolean, title: \"Inline\", enabledTitle: \"Yes\", disabledTitle: \"No\" },\n  preload: {\n    type: ControlType.Enum,\n    title: \"Cache\",\n    options: [PreloadType.Auto, PreloadType.None, PreloadType.ForceCache]\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    \"Video\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"Video\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerContractVersion\": \"1\",\n        \"framerIntrinsicHeight\": \"200\",\n        \"framerSupportedLayoutHeight\": \"any\",\n        \"framerIntrinsicWidth\": \"200\",\n        \"framerSupportedLayoutWidth\": \"fixed\"\n      }\n    },\n    \"VideoProps\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./Video.map"],
  "mappings": "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",
  "names": ["Storage", "name", "resolve", "reject", "request", "window", "e", "key", "value", "hashCode", "s", "a", "b", "corsProxy", "url", "cachedResponse", "cache", "Storage", "cacheKey", "data", "req", "resolve", "reject", "error", "checkForCachedData", "ObjectFitType", "LoopType", "PreloadType", "SrcType", "getProps", "props", "width", "height", "topLeft", "topRight", "bottomRight", "bottomLeft", "id", "children", "rest", "Video", "newProps", "p", "VideoMemo", "X", "srcType", "srcFile", "srcUrl", "playing", "canvasPlay", "loopType", "muted", "playsinline", "controls", "preload", "progress", "objectFit", "backgroundColor", "radius", "isMixed", "onSeeked", "onPause", "onPlay", "onEnd", "onClick", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "poster", "restartOnEnter", "posterEnabled", "startTimeProp", "volume", "isInCurrentNavigationTarget", "useIsInCurrentNavigationTarget", "startTime", "videoRef", "pe", "isLoaded", "isSafari", "useIsBrowserSafari", "wasPausedOnLeave", "wasEndedOnLeave", "loop", "fullLoop", "isCanvas", "se", "RenderTarget", "isForcedCache", "isAutoCache", "isMuted", "shouldPlay", "autoPlay", "play", "te", "ref", "pause", "restartVideo", "playAfter", "setProgress", "newProgress", "isAlreadySet", "ue", "videoProgress", "useAutoMotionValue", "value", "newValue", "useOnEnter", "useOnExit", "getUrl", "cors", "corsProxy", "setVideoRef", "element", "url", "response", "cachedResponse", "checkForCachedData", "key", "hashCode", "borderRadius", "src", "e", "addPropertyControls", "ControlType", "defaultEvents"]
}
