{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js", "ssg:https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js", "ssg:https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js", "ssg:https://framerusercontent.com/modules/NEd4VmDdsxM3StIUbddO/fJ8vwGe6kxfz7kj9H7Sk/YouTube.js", "ssg:https://framerusercontent.com/modules/kr4Dp7pP9RONOZSvTDWK/Y8tOn4ovFFTCCb3r4drG/PxySW1ZUw.js"],
  "sourcesContent": ["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 { 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 { 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", "import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useReducer, useState } from \"react\";\nimport { ControlType, addPropertyControls } from \"framer\";\nimport { useIsOnCanvas, emptyStateStyle, containerStyles, defaultEvents, useRadius, borderRadiusControl } from \"https://framer.com/m/framer/default-utils.js@^0.45.0\";\nvar PlayOptions;\n(function (PlayOptions) {\n  PlayOptions[\"Normal\"] = \"Off\";\n  PlayOptions[\"Auto\"] = \"On\";\n  PlayOptions[\"Loop\"] = \"Loop\";\n})(PlayOptions || (PlayOptions = {}));\nvar ThumbnailOptions;\n(function (ThumbnailOptions) {\n  ThumbnailOptions[\"High\"] = \"High Quality\";\n  ThumbnailOptions[\"Medium\"] = \"Medium Quality\";\n  ThumbnailOptions[\"Low\"] = \"Low Quality\";\n  ThumbnailOptions[\"Off\"] = \"Off\";\n})(ThumbnailOptions || (ThumbnailOptions = {}));\nvar ThumbnailFormat;\n(function (ThumbnailFormat) {\n  ThumbnailFormat[\"WebP\"] = \"webp\";\n  ThumbnailFormat[\"JPG\"] = \"jpg\";\n})(ThumbnailFormat || (ThumbnailFormat = {})); /**\n                                               * @framerIntrinsicWidth 560\n                                               * @framerIntrinsicHeight 315\n                                               *\n                                               * @framerSupportedLayoutWidth fixed\n                                               * @framerSupportedLayoutHeight fixed\n                                               *\n                                               * @framerComponentPresetProps isRed, borderRadius\n                                               */\nexport function Youtube({\n  url,\n  play,\n  shouldMute,\n  thumbnail,\n  isRed,\n  onClick,\n  onMouseEnter,\n  onMouseLeave,\n  onMouseDown,\n  onMouseUp,\n  ...props\n}) {\n  const onCanvas = useIsOnCanvas();\n  const isAutoplay = play !== PlayOptions.Normal;\n  const showThumbnail = onCanvas || thumbnail !== ThumbnailOptions.Off && !isAutoplay;\n  const [isPreloading, preloadVideo] = useReducer(() => true, false);\n  const [showVideo, startVideo] = useReducer(() => true, !showThumbnail);\n  const [isHovered, setHovered] = useState(false);\n  const borderRadius = useRadius(props);\n  const hasBorderRadius = borderRadius !== \"0px 0px 0px 0px\" && borderRadius !== \"0px\";\n  if (url === \"\") {\n    return /*#__PURE__*/_jsx(Instructions, {});\n  }\n  const parsedURL = parseVideoURL(url);\n  if (parsedURL === undefined) {\n    return /*#__PURE__*/_jsx(ErrorMessage, {\n      message: \"Invalid Youtube URL.\"\n    });\n  }\n  const [videoId, embedURL] = parsedURL; // https://stackoverflow.com/questions/2068344/how-do-i-get-a-youtube-video-thumbnail-from-the-youtube-api\n  const thumbnailURL = getThumbnailURL(videoId, thumbnail, getWebPSupported() ? ThumbnailFormat.WebP : ThumbnailFormat.JPG); // https://developers.google.com/youtube/player_parameters\n  const searchParams = embedURL.searchParams;\n  searchParams.set(\"iv_load_policy\", \"3\");\n  searchParams.set(\"rel\", \"0\");\n  searchParams.set(\"modestbranding\", \"1\");\n  searchParams.set(\"playsinline\", \"1\");\n  if (isAutoplay || showThumbnail) {\n    searchParams.set(\"autoplay\", \"1\");\n  }\n  if (isAutoplay && shouldMute) {\n    searchParams.set(\"mute\", \"1\");\n  }\n  if (play === PlayOptions.Loop) {\n    searchParams.set(\"loop\", \"1\");\n    searchParams.set(\"playlist\", videoId);\n  }\n  if (!isRed) {\n    searchParams.set(\"color\", \"white\");\n  }\n  return /*#__PURE__*/_jsxs(\"article\", {\n    onPointerEnter: () => setHovered(true),\n    onPointerLeave: () => setHovered(false),\n    onPointerOver: preloadVideo,\n    onClick: startVideo,\n    style: {\n      ...wrapperStyle,\n      borderRadius,\n      transform: hasBorderRadius && showVideo ? \"translateZ(0.000001px)\" : \"unset\",\n      cursor: \"pointer\",\n      overflow: \"hidden\"\n    },\n    children: [isPreloading && /*#__PURE__*/_jsx(\"link\", {\n      rel: \"preconnect\",\n      href: \"https://www.youtube.com\"\n    }), isPreloading && /*#__PURE__*/_jsx(\"link\", {\n      rel: \"preconnect\",\n      href: \"https://www.google.com\"\n    }), /*#__PURE__*/_jsx(\"div\", {\n      style: {\n        ...videoStyle,\n        background: showThumbnail ? `center / cover url(${thumbnailURL}) no-repeat` : undefined\n      }\n    }), showVideo ? /*#__PURE__*/_jsx(\"iframe\", {\n      style: videoStyle,\n      src: embedURL.href,\n      frameBorder: \"0\",\n      allow: \"presentation; fullscreen; accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\",\n      onClick: onClick,\n      onMouseEnter: onMouseEnter,\n      onMouseLeave: onMouseLeave,\n      onMouseDown: onMouseDown,\n      onMouseUp: onMouseUp\n    }) : /*#__PURE__*/_jsx(PlayButton, {\n      onClick: startVideo,\n      isHovered: isHovered,\n      isRed: isRed\n    })]\n  });\n}\nYoutube.displayName = \"YouTube\";\naddPropertyControls(Youtube, {\n  url: {\n    type: ControlType.String,\n    title: \"Video\"\n  },\n  play: {\n    type: ControlType.Enum,\n    title: \"Autoplay\",\n    options: Object.values(PlayOptions)\n  },\n  shouldMute: {\n    title: \"Mute\",\n    type: ControlType.Boolean,\n    enabledTitle: \"Yes\",\n    disabledTitle: \"No\",\n    hidden(props) {\n      return props.play === PlayOptions.Normal;\n    }\n  },\n  thumbnail: {\n    title: \"Thumbnail\",\n    description: \"Showing a thumbnail improves performance.\",\n    type: ControlType.Enum,\n    options: Object.values(ThumbnailOptions),\n    hidden(props) {\n      return props.play !== PlayOptions.Normal;\n    }\n  },\n  isRed: {\n    title: \"Color\",\n    type: ControlType.Boolean,\n    enabledTitle: \"Red\",\n    disabledTitle: \"White\"\n  },\n  ...borderRadiusControl,\n  ...defaultEvents\n});\nconst defaultProps = {\n  url: \"https://youtu.be/smPos0mJvh8\",\n  play: PlayOptions.Normal,\n  shouldMute: true,\n  thumbnail: ThumbnailOptions.Medium,\n  isRed: true\n};\nYoutube.defaultProps = defaultProps;\nfunction parseVideoURL(urlString) {\n  let url;\n  try {\n    url = new URL(urlString);\n  } catch {\n    const embedURL = getEmbedURL(urlString);\n    return [urlString, embedURL];\n  }\n  if (url.hostname === \"youtube.com\" || url.hostname === \"www.youtube.com\" || url.hostname === \"youtube-nocookie.com\" || url.hostname === \"www.youtube-nocookie.com\") {\n    const pathSegments = url.pathname.slice(1).split(\"/\"); // https://www.youtube.com/watch?v=Fop2oskTug8\n    if (pathSegments[0] === \"watch\") {\n      const videoId = url.searchParams.get(\"v\");\n      const embedURL1 = getEmbedURL(videoId);\n      return [videoId, embedURL1];\n    } // https://www.youtube.com/embed/Fop2oskTug8\n    if (pathSegments[0] === \"embed\") {\n      const videoId1 = pathSegments[1];\n      return [videoId1, url];\n    }\n  } // https://youtu.be/Fop2oskTug8\n  if (url.hostname === \"youtu.be\") {\n    const videoId2 = url.pathname.slice(1);\n    const embedURL2 = getEmbedURL(videoId2);\n    return [videoId2, embedURL2];\n  }\n}\nfunction getEmbedURL(videoId) {\n  return new URL(`https://www.youtube.com/embed/${videoId}`);\n}\nfunction getThumbnailURL(videoId, res, format = ThumbnailFormat.JPG) {\n  // https://gist.github.com/a1ip/be4514c1fd392a8c13b05e082c4da363\n  const pre = ThumbnailFormat.WebP ? \"https://i.ytimg.com/vi_webp/\" : \"https://i.ytimg.com/vi/\";\n  const ext = ThumbnailFormat.WebP ? \"webp\" : \"jpg\";\n  switch (res) {\n    case ThumbnailOptions.Low:\n      return `${pre}${videoId}/hqdefault.${ext}`;\n    case ThumbnailOptions.Medium:\n      return `${pre}${videoId}/sddefault.${ext}`;\n    case ThumbnailOptions.High:\n      return `${pre}${videoId}/maxresdefault.${ext}`;\n    default:\n      return `${pre}${videoId}/0.${ext}`;\n  }\n}\nlet _getWebPSupported; // https://stackoverflow.com/a/27232658\nfunction getWebPSupported() {\n  // We're going to default to webp because it's pretty widely supported by now\n  if (!window) {\n    return true;\n  }\n  if (_getWebPSupported !== undefined) {\n    return _getWebPSupported;\n  }\n  const element = document.createElement(\"canvas\");\n  if (!!(element.getContext && element.getContext(\"2d\"))) {\n    // was able or not to get WebP representation\n    return element.toDataURL(\"image/webp\").indexOf(\"data:image/webp\") == 0;\n  } else {\n    // very old browser like IE 8, canvas not supported\n    return false;\n  }\n} // Helper components\nfunction Instructions() {\n  return /*#__PURE__*/_jsx(\"div\", {\n    style: {\n      ...emptyStateStyle,\n      overflow: \"hidden\"\n    },\n    children: /*#__PURE__*/_jsx(\"div\", {\n      style: centerTextStyle,\n      children: \"To embed a Youtube video, add the URL to the properties\\xa0panel.\"\n    })\n  });\n}\nfunction ErrorMessage({\n  message\n}) {\n  return /*#__PURE__*/_jsx(\"div\", {\n    className: \"framerInternalUI-errorPlaceholder\",\n    style: {\n      ...containerStyles,\n      overflow: \"hidden\"\n    },\n    children: /*#__PURE__*/_jsxs(\"div\", {\n      style: centerTextStyle,\n      children: [\"Error: \", message]\n    })\n  });\n}\nfunction PlayButton({\n  onClick,\n  isHovered,\n  isRed\n}) {\n  return /*#__PURE__*/_jsx(\"button\", {\n    onClick: onClick,\n    \"aria-label\": \"Play\",\n    style: buttonStyle,\n    children: /*#__PURE__*/_jsxs(\"svg\", {\n      height: \"100%\",\n      version: \"1.1\",\n      viewBox: \"0 0 68 48\",\n      width: \"100%\",\n      children: [/*#__PURE__*/_jsx(\"path\", {\n        d: \"M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z\",\n        fill: isHovered ? isRed ? \"#f00\" : \"#000\" : \"#212121\",\n        fillOpacity: isHovered ? isRed ? 1 : .8 : .8,\n        style: {\n          transition: \"fill .1s cubic-bezier(0.4, 0, 1, 1), fill-opacity .1s cubic-bezier(0.4, 0, 1, 1)\"\n        }\n      }), /*#__PURE__*/_jsx(\"path\", {\n        d: \"M 45,24 27,14 27,34\",\n        fill: \"#fff\"\n      })]\n    })\n  });\n}\nconst buttonStyle = {\n  position: \"absolute\",\n  top: \"50%\",\n  left: \"50%\",\n  transform: \"translate(-50%, -50%)\",\n  width: 68,\n  height: 48,\n  padding: 0,\n  border: \"none\",\n  background: \"transparent\",\n  cursor: \"pointer\"\n};\nconst wrapperStyle = {\n  position: \"relative\",\n  width: \"100%\",\n  height: \"100%\"\n};\nconst centerTextStyle = {\n  textAlign: \"center\",\n  minWidth: 140\n};\nconst videoStyle = {\n  position: \"absolute\",\n  top: 0,\n  left: 0,\n  height: \"100%\",\n  width: \"100%\"\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"Youtube\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"Youtube\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerSupportedLayoutWidth\": \"fixed\",\n        \"framerContractVersion\": \"1\",\n        \"framerIntrinsicHeight\": \"315\",\n        \"framerComponentPresetProps\": \"isRed, borderRadius\",\n        \"framerIntrinsicWidth\": \"560\",\n        \"framerSupportedLayoutHeight\": \"fixed\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./YouTube.map", "import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { addPropertyControls, ComponentPresetsConsumer, ControlType, Link } from \"framer\";\nimport { motion } from \"framer-motion\";\nimport * as React from \"react\";\nimport { Youtube as YouTube } from \"https://framerusercontent.com/modules/NEd4VmDdsxM3StIUbddO/fJ8vwGe6kxfz7kj9H7Sk/YouTube.js\"; /**\n                                                                                                                                 * @framerRecordIdKey id\n                                                                                                                                 * @framerSlug JtJEkvXin\n                                                                                                                                 * @framerEnumToDisplayNameUtils 1\n                                                                                                                                 * @framerData\n                                                                                                                                 */\nconst data = [{\n  bOxdfER5h: {\n    alt: \"\",\n    src: new URL(\"https://framerusercontent.com/images/W91oxNh6Isb7t2ycekPJ4U2Hrp8.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/W91oxNh6Isb7t2ycekPJ4U2Hrp8.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/W91oxNh6Isb7t2ycekPJ4U2Hrp8.jpg\").href} 640w`\n  },\n  id: \"O9Dtey_Fx\",\n  JtJEkvXin: \"framer-update-start-with-ai\",\n  lemASa7Xp: \"Framer Update: Start with AI\",\n  mDHjb2U7H: false,\n  NlycFd8aJ: \"2 mins\",\n  RiOZaU58_: \"Framer\",\n  uttPXTDBK: {\n    alt: \"Framer Logo\",\n    src: new URL(\"https://framerusercontent.com/images/ybh2xLxlTSWP9ZGjF4heVi4loZI.png\").href\n  },\n  Wec2l4waR: \"11k\",\n  Xu0G9pfQV: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(motion.div, {\n      className: \"framer-text-module\",\n      style: {\n        \"--aspect-ratio\": \"560 / 315\",\n        aspectRatio: \"var(--aspect-ratio)\",\n        height: \"auto\",\n        width: \"100%\"\n      },\n      children: /*#__PURE__*/_jsx(ComponentPresetsConsumer, {\n        componentIdentifier: \"module:NEd4VmDdsxM3StIUbddO/fJ8vwGe6kxfz7kj9H7Sk/YouTube.js:Youtube\",\n        children: presetProps => /*#__PURE__*/_jsx(YouTube, {\n          ...presetProps,\n          play: \"Off\",\n          shouldMute: true,\n          thumbnail: \"Medium Quality\",\n          url: \"https://www.youtube.com/watch?v=A4oNA05OaIE&ab_channel=Framer\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"We\u2019re excited to introduce a brand new way to start your very first website with Framer, powered by AI. Ask Framer to design your next personal portfolio, or a landing page for your startup, or a site about your weekly bookclub get together. Your imagination is the limit. You can even ask for a specific color scheme, or to mention specific details about your project. Pick between infinite generated color palettes, and tons of handpicked typeface combinations. Customizing is easier than ever, too. Select your header, and hit shuffle to try different colors within your palette. Or select the headline, and let AI rewrite the copy for you. It\u2019s a brand new way to get up and running in seconds, and we think you\u2019ll love it. \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbkY4alMzSmFQemtzMWJPanpUNi1SYVZTTjhjQXxBQ3Jtc0tuWndKNHVOcGVCQUItMFl1NVNHT1FTTnlibmJqcHhUOWlDd1pCZmptRjNlZnVFdWI5OHhpQlhjSFhjNXhQeUlWcVV6WHhXRXhPdTNiaEVQRU90OG80SkxsVFFKVjNnVExhWnFnUWVFSVhVOEgwbXR1QQ&q=https%3A%2F%2Fframer.com%2Fai&v=A4oNA05OaIE\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"https://framer.com/ai\"\n        })\n      })]\n    })]\n  })\n}, {\n  bOxdfER5h: {\n    alt: \"Framer class thumbnail\",\n    src: new URL(\"https://framerusercontent.com/images/cwWvfOISidEFborXpHehO3tDbBI.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/cwWvfOISidEFborXpHehO3tDbBI.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/cwWvfOISidEFborXpHehO3tDbBI.jpg\").href} 640w`\n  },\n  id: \"Bup8joYHv\",\n  JtJEkvXin: \"cool-hover-effects-in-framer-tutorial\",\n  lemASa7Xp: \"Framer Update: Version History\",\n  mDHjb2U7H: true,\n  NlycFd8aJ: \"3 mins\",\n  RiOZaU58_: \"Framer\",\n  uttPXTDBK: {\n    alt: \"Framer Logo\",\n    src: new URL(\"https://framerusercontent.com/images/ybh2xLxlTSWP9ZGjF4heVi4loZI.png\").href\n  },\n  Wec2l4waR: \"2k\",\n  Xu0G9pfQV: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(motion.div, {\n      className: \"framer-text-module\",\n      style: {\n        \"--aspect-ratio\": \"560 / 315\",\n        aspectRatio: \"var(--aspect-ratio)\",\n        height: \"auto\",\n        width: \"100%\"\n      },\n      children: /*#__PURE__*/_jsx(ComponentPresetsConsumer, {\n        componentIdentifier: \"module:NEd4VmDdsxM3StIUbddO/fJ8vwGe6kxfz7kj9H7Sk/YouTube.js:Youtube\",\n        children: presetProps => /*#__PURE__*/_jsx(YouTube, {\n          ...presetProps,\n          play: \"Off\",\n          shouldMute: true,\n          thumbnail: \"Medium Quality\",\n          url: \"https://www.youtube.com/watch?v=ZZbWx7NM6g8&ab_channel=Framer\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"This update allows you to restore fully responsive layouts from the past. When using Version History to copy a section, Framer now automatically imports its breakpoints too \u2014 and if the existing ones are different, they will be automatically updated. The update also makes loading versions in the panel faster, as well as optimizing the viewing experience of older versions. Learn more about Version History here: \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.framer.com/learn/version-history/\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"https://www.framer.com/learn/version-history/\"\n        })\n      })]\n    })]\n  })\n}, {\n  bOxdfER5h: {\n    alt: \"Framer thumbnail\",\n    src: new URL(\"https://framerusercontent.com/images/g56NxuIY2n46sUGXToKxmCTklLs.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/g56NxuIY2n46sUGXToKxmCTklLs.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/g56NxuIY2n46sUGXToKxmCTklLs.jpg\").href} 640w`\n  },\n  id: \"TbWHimL9V\",\n  JtJEkvXin: \"framer-update-fit-text\",\n  lemASa7Xp: \"Framer Update: Fit Text\",\n  mDHjb2U7H: false,\n  NlycFd8aJ: \"3 mins\",\n  RiOZaU58_: \"Framer\",\n  uttPXTDBK: {\n    alt: \"Framer Logo\",\n    src: new URL(\"https://framerusercontent.com/images/ybh2xLxlTSWP9ZGjF4heVi4loZI.png\").href\n  },\n  Wec2l4waR: \"7k\",\n  Xu0G9pfQV: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(motion.div, {\n      className: \"framer-text-module\",\n      style: {\n        \"--aspect-ratio\": \"560 / 315\",\n        aspectRatio: \"var(--aspect-ratio)\",\n        height: \"auto\",\n        width: \"100%\"\n      },\n      children: /*#__PURE__*/_jsx(ComponentPresetsConsumer, {\n        componentIdentifier: \"module:NEd4VmDdsxM3StIUbddO/fJ8vwGe6kxfz7kj9H7Sk/YouTube.js:Youtube\",\n        children: presetProps => /*#__PURE__*/_jsx(YouTube, {\n          ...presetProps,\n          play: \"Off\",\n          shouldMute: true,\n          thumbnail: \"Medium Quality\",\n          url: \"https://www.youtube.com/watch?v=IL5zpfzGRo8&ab_channel=Framer\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Introducing Fit Text\u2014a new feature allowing you to design text that scales to fit. Design bold headers that resize along with your browser, or any section. Simply create a Text Layer, head over to the Size property and set it to Fit. You can also use Fit Text on multiple lines of text, which you can create by hitting enter when you want your line to break. Define minimum and maximum font sizes by using the Min Width and Max Width properties. This can be done on the Text Layer itself, or any parent layer. Best of all, this feature keeps your sites blazing fast. Framer can render your typography at the right size even before JavaScript runs on your website. No flashes on refresh, and no expensive calculations on resize. We think you\u2019ll love it. You can find a demo here: \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbUlkTlJhQV83NUg1eEt2V2JzeGFCd1l2emY2UXxBQ3Jtc0tuOGRPWTJudnk1WU1oc1FucmtRR1IxS0l0OVlkTXhPTWtQdm5pbGpmZmpjQTRMVHVKMnB4YVlORFNrSVB3MTJfRDFicnBBaE5pemp4QmRkTFFYT3AwR1daLTZZaHI0ekdqQi1qYzZFNFI0Ujc0MW0xUQ&q=https%3A%2F%2Ffit-text.framer.wiki%2F&v=IL5zpfzGRo8\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"https://fit-text.framer.wiki/\"\n        })\n      })]\n    })]\n  })\n}, {\n  bOxdfER5h: {\n    alt: \"Class Graphic\",\n    src: new URL(\"https://framerusercontent.com/images/wD6uRX8X9VYzzV9rTFVwyxdyQk.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/wD6uRX8X9VYzzV9rTFVwyxdyQk.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/wD6uRX8X9VYzzV9rTFVwyxdyQk.jpg\").href} 640w`\n  },\n  id: \"nbt3jk1Pc\",\n  JtJEkvXin: \"making-responsive-websites-in-framer\",\n  lemASa7Xp: \"The Input Component\",\n  mDHjb2U7H: false,\n  NlycFd8aJ: \"5 mins\",\n  RiOZaU58_: \"Framer\",\n  uttPXTDBK: {\n    alt: \"Framer Logo\",\n    src: new URL(\"https://framerusercontent.com/images/ybh2xLxlTSWP9ZGjF4heVi4loZI.png\").href\n  },\n  Wec2l4waR: \"7k\",\n  Xu0G9pfQV: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(motion.div, {\n      className: \"framer-text-module\",\n      style: {\n        \"--aspect-ratio\": \"560 / 315\",\n        aspectRatio: \"var(--aspect-ratio)\",\n        height: \"auto\",\n        width: \"100%\"\n      },\n      children: /*#__PURE__*/_jsx(ComponentPresetsConsumer, {\n        componentIdentifier: \"module:NEd4VmDdsxM3StIUbddO/fJ8vwGe6kxfz7kj9H7Sk/YouTube.js:Youtube\",\n        children: presetProps => /*#__PURE__*/_jsx(YouTube, {\n          ...presetProps,\n          play: \"Off\",\n          shouldMute: true,\n          thumbnail: \"Medium Quality\",\n          url: \"https://www.youtube.com/watch?v=QTcVlTScOo4&ab_channel=Framer\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Meet the new Input Component, allowing you to easily capture email signups on your sites. Find it in the Insert Panel, within the Forms section. Drag and drop it onto your page, connect it to a service of your choosing, and you\u2019re good to go. The component supports Loops.so, MailChimp, FormSpark, and GetWaitlist. On success, you can either redirect to a new page, or open a custom overlay\u2014giving you much more control over the success state design and messaging. It\u2019s extremely customizable too, and captures most common input layout patterns. Demo: \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbHpUX3oyckUxWWx0UlBKNU5xLTdBOWdFVjZaQXxBQ3Jtc0tsWG42ODdfeVFkR0JXZE9KdGJfb3pzWDgxRzZpZ0V2QkdNLWVETTZFQ3BOMjhncEJtQnU0aHBiR0JoM1BmcGZLZzFjYjI2eTlrclhOV1VvTlZlM2xOTU15bjRkVmF6YkNNQWcxaVRVOTA2VW5UWWZnQQ&q=https%3A%2F%2Finput.framer.wiki%2F&v=QTcVlTScOo4\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"https://input.framer.wiki/\"\n        })\n      })]\n    })]\n  })\n}, {\n  bOxdfER5h: {\n    alt: \"Class Graphic\",\n    src: new URL(\"https://framerusercontent.com/images/aEN0miXM3jLlO1bQn0PeoGD9mE.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/aEN0miXM3jLlO1bQn0PeoGD9mE.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/aEN0miXM3jLlO1bQn0PeoGD9mE.jpg\").href} 640w`\n  },\n  id: \"v5cv09iB0\",\n  JtJEkvXin: \"framer-how-to-create-fixed-navigation-with-tab-animation-(easy)\",\n  lemASa7Xp: \"Navigations: Horizontal Side Scroller\",\n  mDHjb2U7H: true,\n  NlycFd8aJ: \"3 mins\",\n  RiOZaU58_: \"Framer\",\n  uttPXTDBK: {\n    alt: \"Framer Logo\",\n    src: new URL(\"https://framerusercontent.com/images/ybh2xLxlTSWP9ZGjF4heVi4loZI.png\").href\n  },\n  Wec2l4waR: \"3k\",\n  Xu0G9pfQV: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(motion.div, {\n      className: \"framer-text-module\",\n      style: {\n        \"--aspect-ratio\": \"560 / 315\",\n        aspectRatio: \"var(--aspect-ratio)\",\n        height: \"auto\",\n        width: \"100%\"\n      },\n      children: /*#__PURE__*/_jsx(ComponentPresetsConsumer, {\n        componentIdentifier: \"module:NEd4VmDdsxM3StIUbddO/fJ8vwGe6kxfz7kj9H7Sk/YouTube.js:Youtube\",\n        children: presetProps => /*#__PURE__*/_jsx(YouTube, {\n          ...presetProps,\n          play: \"Off\",\n          shouldMute: true,\n          thumbnail: \"Medium Quality\",\n          url: \"https://www.youtube.com/watch?v=MW4XkFZkjcU&ab_channel=Framer\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"This release brings new properties that unlock new types of navigation patterns in Framer. First, we\u2019re adding separate Overflow X and Overflow Y properties, giving you much more control. Second, we\u2019re adding the Scrollbars property, enabling you to show or hide scrollbars of specific layers. Combined, these new styles allow you to design completely responsive navigations without variants. Watch the video above to learn more, or remix our demo to get started: \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa2M0aktLQWxCWmlfbTNlYmNRaTJoNjdGeW04Z3xBQ3Jtc0tuLVRaWUZFQ3dXOVI0M1cwVUhMaUZtR3dFWHRTNUVjM2FQVklpZTN5T0poV1RpSEJtNlRGcUcyc2FYcTBhY0FTYmN0R1dPWVREYzFjTnZhMmRFQzQ3NDFGY2NIdllGQ3U4N21QeHdYQUFWMXN6eGpTUQ&q=https%3A%2F%2Fnavs-scroll.framer.wiki%2F&v=MW4XkFZkjcU\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"https://navs-scroll.framer.wiki/\"\n        })\n      })]\n    })]\n  })\n}, {\n  bOxdfER5h: {\n    alt: \"Framer x Lemonsqueezy\",\n    src: new URL(\"https://framerusercontent.com/images/4SrlMbuwUhJxCu4i9FLUFAOHa8.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/4SrlMbuwUhJxCu4i9FLUFAOHa8.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/4SrlMbuwUhJxCu4i9FLUFAOHa8.jpg\").href} 640w`\n  },\n  id: \"sTizBju0x\",\n  JtJEkvXin: \"framer-how-to-create-a-progress-bar-triggered-by-scroll\",\n  lemASa7Xp: \"How to start selling your Framer templates through Lemon Squeezy\",\n  mDHjb2U7H: true,\n  NlycFd8aJ: \"4 mins\",\n  RiOZaU58_: \"Framer\",\n  uttPXTDBK: {\n    alt: \"Framer Logo\",\n    src: new URL(\"https://framerusercontent.com/images/ybh2xLxlTSWP9ZGjF4heVi4loZI.png\").href\n  },\n  Wec2l4waR: \"5k\",\n  Xu0G9pfQV: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(motion.div, {\n      className: \"framer-text-module\",\n      style: {\n        \"--aspect-ratio\": \"560 / 315\",\n        aspectRatio: \"var(--aspect-ratio)\",\n        height: \"auto\",\n        width: \"100%\"\n      },\n      children: /*#__PURE__*/_jsx(ComponentPresetsConsumer, {\n        componentIdentifier: \"module:NEd4VmDdsxM3StIUbddO/fJ8vwGe6kxfz7kj9H7Sk/YouTube.js:Youtube\",\n        children: presetProps => /*#__PURE__*/_jsx(YouTube, {\n          ...presetProps,\n          play: \"Off\",\n          shouldMute: true,\n          thumbnail: \"Medium Quality\",\n          url: \"https://www.youtube.com/watch?v=RN0VWAvL-qc&ab_channel=Framer\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'This is a tutorial on how to add your Framer template to Lemon Squeezy and start selling it. You need to create an account on Lemon Squeezy, then add a new product by giving it a name, description, price, and images. Select \"single payment\" and set the price, then enable the option to redirect people to your template immediately after they complete their purchase. Copy the remix link of your project from Framer and paste it into the appropriate fields. Publish your product and use the share URL to submit your template to Framer or share it on social media.'\n    })]\n  })\n}];\nfor (const item of data) {\n  Object.freeze(item);\n}\naddPropertyControls(data, {\n  bOxdfER5h: {\n    title: \"Placeholder Img\",\n    type: ControlType.ResponsiveImage\n  },\n  lemASa7Xp: {\n    defaultValue: \"\",\n    title: \"Title\",\n    type: ControlType.String\n  },\n  JtJEkvXin: {\n    title: \"Slug\",\n    type: ControlType.String\n  },\n  Xu0G9pfQV: {\n    defaultValue: \"\",\n    title: \"Video\",\n    type: ControlType.RichText\n  },\n  Wec2l4waR: {\n    defaultValue: \"3k\",\n    title: \"# of Views\",\n    type: ControlType.String\n  },\n  NlycFd8aJ: {\n    defaultValue: \"3m\",\n    title: \"Duration\",\n    type: ControlType.String\n  },\n  RiOZaU58_: {\n    defaultValue: \"\",\n    title: \"Creator Name\",\n    type: ControlType.String\n  },\n  uttPXTDBK: {\n    title: \"Creator Image\",\n    type: ControlType.ResponsiveImage\n  },\n  mDHjb2U7H: {\n    defaultValue: true,\n    title: \"Premium\",\n    type: ControlType.Boolean\n  }\n});\ndata[\"displayName\"] = \"Courses - Demo\";\nexport default data;\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"data\",\n      \"name\": \"data\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\",\n        \"framerEnumToDisplayNameUtils\": \"1\",\n        \"framerSlug\": \"JtJEkvXin\",\n        \"framerRecordIdKey\": \"id\",\n        \"framerData\": \"\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};"],
  "mappings": "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",
  "names": ["containerStyles", "emptyStateStyle", "defaultEvents", "ControlType", "fontSizeOptions", "fontControls", "font", "useIsOnCanvas", "se", "RenderTarget", "useRadius", "props", "borderRadius", "isMixedBorderRadius", "topLeftRadius", "topRightRadius", "bottomRightRadius", "bottomLeftRadius", "se", "borderRadiusControl", "ControlType", "paddingControl", "ControlType", "PlayOptions", "ThumbnailOptions", "ThumbnailFormat", "Youtube", "url", "play", "shouldMute", "thumbnail", "isRed", "onClick", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "props", "onCanvas", "useIsOnCanvas", "isAutoplay", "showThumbnail", "isPreloading", "preloadVideo", "le", "showVideo", "startVideo", "isHovered", "setHovered", "ye", "borderRadius", "useRadius", "hasBorderRadius", "p", "Instructions", "parsedURL", "parseVideoURL", "ErrorMessage", "videoId", "embedURL", "thumbnailURL", "getThumbnailURL", "getWebPSupported", "searchParams", "u", "wrapperStyle", "videoStyle", "PlayButton", "addPropertyControls", "ControlType", "borderRadiusControl", "defaultEvents", "defaultProps", "urlString", "getEmbedURL", "pathSegments", "embedURL1", "videoId2", "embedURL2", "res", "format", "pre", "ext", "_getWebPSupported", "window", "element", "emptyStateStyle", "centerTextStyle", "message", "containerStyles", "buttonStyle", "data", "u", "x", "p", "motion", "ComponentPresetsConsumer", "presetProps", "Youtube", "Link", "item", "addPropertyControls", "ControlType", "PxySW1ZUw_default", "__FramerMetadata__"]
}
