{"version":3,"file":"microlink.min.mjs","sources":["../../../node_modules/.pnpm/@babel+runtime@7.24.5/node_modules/@babel/runtime/helpers/esm/extends.js","../../../node_modules/.pnpm/@babel+runtime@7.24.5/node_modules/@babel/runtime/helpers/esm/typeof.js","../../../node_modules/.pnpm/@babel+runtime@7.24.5/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../node_modules/.pnpm/@babel+runtime@7.24.5/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../node_modules/.pnpm/@babel+runtime@7.24.5/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../node_modules/.pnpm/@babel+runtime@7.24.5/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../../node_modules/.pnpm/@babel+runtime@7.24.5/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../node_modules/.pnpm/@babel+runtime@7.24.5/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../../../node_modules/.pnpm/@microlink+react@5.5.22_react-dom@18.2.0_react@18.2.0__react@18.2.0_styled-components@6.1.10__m2jeuq44j7wy3tsdycialxshgi/node_modules/@microlink/react/dist/microlink.mjs","../src/index.js"],"sourcesContent":["export default function _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}","export default function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n  key = toPropertyKey(key);\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n  return obj;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n  if (source == null) return {};\n  var target = objectWithoutPropertiesLoose(source, excluded);\n  var key, i;\n  if (Object.getOwnPropertySymbols) {\n    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n    for (i = 0; i < sourceSymbolKeys.length; i++) {\n      key = sourceSymbolKeys[i];\n      if (excluded.indexOf(key) >= 0) continue;\n      if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n      target[key] = source[key];\n    }\n  }\n  return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  for (var key in source) {\n    if (Object.prototype.hasOwnProperty.call(source, key)) {\n      if (excluded.indexOf(key) >= 0) continue;\n      target[key] = source[key];\n    }\n  }\n  return target;\n}","export default function _taggedTemplateLiteral(strings, raw) {\n  if (!raw) {\n    raw = strings.slice(0);\n  }\n  return Object.freeze(Object.defineProperties(strings, {\n    raw: {\n      value: Object.freeze(raw)\n    }\n  }));\n}","import _extends from '@babel/runtime/helpers/extends';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport React, { useRef, useMemo, useCallback, useEffect, createElement, useState, useContext, forwardRef } from 'react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/taggedTemplateLiteral';\nimport { css, styled, keyframes } from 'styled-components';\nimport { getApiUrl as getApiUrl$1, fetchFromApi } from '@microlink/mql';\nexport { fetchFromApi } from '@microlink/mql';\n\nconst _excluded$8 = [\"accessibility\", \"debounce\", \"ellipsis\", \"is\", \"lines\", \"text\"];\nfunction ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nconst l = _ref => {\n  let {\n      accessibility: l = !0,\n      debounce: o = 300,\n      ellipsis: u = \"…\",\n      is: c = \"div\",\n      lines: s = 3,\n      text: d\n    } = _ref,\n    v = _objectWithoutProperties(_ref, _excluded$8);\n  const a = useRef(null),\n    f = useRef(\".\"),\n    h = _objectSpread$4(_objectSpread$4({\n      ref: a\n    }, l ? {\n      title: d\n    } : {}), v),\n    g = useMemo(() => \"string\" == typeof d && d.length > 0, [d]),\n    m = useCallback(() => {\n      var e, t, n, r;\n      if (!g) return;\n      const i = e => {\n        f.current = e, null != a.current && (a.current.innerText = e);\n      };\n      i(\".\");\n      const l = ((null !== (t = null === (e = a.current) || void 0 === e ? void 0 : e.clientHeight) && void 0 !== t ? t : 0) + 1) * s + 1,\n        o = \"…\" === u ? 5 : 1.2 * u.length;\n      let c = 0,\n        v = 0,\n        h = d.length;\n      for (; c <= h;) {\n        v = Math.floor((c + h) / 2);\n        if (i(d.slice(0, v)), v === d.length) return;\n        (null !== (r = null === (n = a.current) || void 0 === n ? void 0 : n.clientHeight) && void 0 !== r ? r : 0) <= l ? c = v + 1 : h = v - 1;\n      }\n      i(d.slice(0, Math.max(v - o, 0)).trim() + u);\n    }, [u, g, s, d]);\n  return useEffect(() => {\n    m();\n    const e = ((e, t) => {\n      let n;\n      const r = () => {\n        n = void 0, e();\n      };\n      return () => {\n        const i = null == n;\n        clearTimeout(n), n = setTimeout(r, t), i && e();\n      };\n    })(m, o);\n    return window.addEventListener(\"resize\", e), () => window.removeEventListener(\"resize\", e);\n  }, [m, o]), g ? /*#__PURE__*/createElement(c, h, f.current) : null;\n};\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar src = () => /^https?:\\/\\/(localhost|0|10|127|192(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\\[::1?\\])/gi;\n\nvar localhostUrl = /*@__PURE__*/getDefaultExportFromCjs(src);\n\nvar _templateObject$i, _templateObject2$e;\nconst isSSR = typeof window === 'undefined';\nconst castArray = value => [].concat(value);\nconst getPreferredMedia = (data, mediaProps) => {\n  let prefer;\n  for (let index = 0; index < mediaProps.length; index++) {\n    const key = mediaProps[index];\n    const value = data[key];\n    if (!isNil(value)) {\n      prefer = key;\n      break;\n    }\n  }\n  return prefer;\n};\nconst isFunction = fn => typeof fn === 'function';\nconst isObject = obj => typeof obj === 'object';\nconst isNil = value => value == null;\nconst getUrlPath = data => isObject(data) ? data.url : data;\nconst someProp = (data, props) => data[props.find(prop => !isNil(data[prop]))];\nconst media = {\n  mobile: function () {\n    return css(_templateObject$i || (_templateObject$i = _taggedTemplateLiteral([\"\\n    @media (max-width: 48em) {\\n      \", \";\\n    }\\n  \"])), css(...arguments));\n  },\n  desktop: function () {\n    return css(_templateObject2$e || (_templateObject2$e = _taggedTemplateLiteral([\"\\n    @media (min-width: 48em) {\\n      \", \";\\n    }\\n  \"])), css(...arguments));\n  }\n};\nconst getApiUrl = _ref => {\n  let {\n    apiKey,\n    contrast = false,\n    data,\n    endpoint,\n    force,\n    headers,\n    media,\n    prerender,\n    proxy,\n    ttl,\n    url\n  } = _ref;\n  return getApiUrl$1(url, {\n    apiKey,\n    audio: media.includes('audio'),\n    data,\n    endpoint,\n    force,\n    headers,\n    iframe: media.includes('iframe'),\n    palette: contrast,\n    prerender,\n    proxy,\n    screenshot: media.includes('screenshot'),\n    ttl,\n    video: media.includes('video')\n  });\n};\nconst isLarge = cardSize => cardSize === 'large';\nconst isSmall = cardSize => cardSize === 'small';\nconst imageProxy = url => localhostUrl().test(url) ? url : \"https://images.weserv.nl/?\".concat(new URLSearchParams({\n  url,\n  default: url,\n  l: 9,\n  af: '',\n  il: '',\n  n: -1\n}).toString());\nconst isLazySupported = !isSSR && 'IntersectionObserver' in window;\nconst formatSeconds = secs => {\n  const secsToNum = parseInt(secs, 10);\n  const hours = Math.floor(secsToNum / 3600);\n  const minutes = Math.floor(secsToNum / 60) % 60;\n  const seconds = secsToNum % 60;\n  return [hours, minutes, seconds].filter((v, i) => v > 0 || i > 0).map(v => v >= 10 ? v : \"0\".concat(v)).join(':');\n};\nconst clampNumber = (num, min, max) => {\n  switch (true) {\n    case num <= min:\n      return min;\n    case num >= max:\n      return max;\n    default:\n      return num;\n  }\n};\nconst BASE_CLASSNAME = 'microlink_card';\nconst CONTENT_BASE_CLASSNAME = \"\".concat(BASE_CLASSNAME, \"__content\");\nconst MEDIA_BASE_CLASSNAME = \"\".concat(BASE_CLASSNAME, \"__media\");\nconst CONTROLS_BASE_CLASSNAME = \"\".concat(MEDIA_BASE_CLASSNAME, \"__controls\");\nconst classNames = {\n  main: BASE_CLASSNAME,\n  content: CONTENT_BASE_CLASSNAME,\n  title: \"\".concat(CONTENT_BASE_CLASSNAME, \"_title\"),\n  description: \"\".concat(CONTENT_BASE_CLASSNAME, \"_description\"),\n  url: \"\".concat(CONTENT_BASE_CLASSNAME, \"_url\"),\n  mediaWrapper: \"\".concat(MEDIA_BASE_CLASSNAME, \"_wrapper\"),\n  media: MEDIA_BASE_CLASSNAME,\n  image: \"\".concat(MEDIA_BASE_CLASSNAME, \"_image\"),\n  videoWrapper: \"\".concat(MEDIA_BASE_CLASSNAME, \"_video_wrapper\"),\n  video: \"\".concat(MEDIA_BASE_CLASSNAME, \"_video\"),\n  audioWrapper: \"\".concat(MEDIA_BASE_CLASSNAME, \"_audio_wrapper\"),\n  audio: \"\".concat(MEDIA_BASE_CLASSNAME, \"_audio\"),\n  mediaControls: CONTROLS_BASE_CLASSNAME,\n  playbackControl: \"\".concat(CONTROLS_BASE_CLASSNAME, \"_playback\"),\n  volumeControl: \"\".concat(CONTROLS_BASE_CLASSNAME, \"_volume\"),\n  rwControl: \"\".concat(CONTROLS_BASE_CLASSNAME, \"_rewind\"),\n  ffwControl: \"\".concat(CONTROLS_BASE_CLASSNAME, \"_fast_forward\"),\n  rateControl: \"\".concat(CONTROLS_BASE_CLASSNAME, \"_rate\"),\n  progressBar: \"\".concat(CONTROLS_BASE_CLASSNAME, \"_progress_bar\"),\n  progressTime: \"\".concat(CONTROLS_BASE_CLASSNAME, \"_progress_time\"),\n  spinner: \"\".concat(CONTROLS_BASE_CLASSNAME, \"_spinner\"),\n  iframe: \"\".concat(BASE_CLASSNAME, \"__iframe\")\n};\n\nconst _excluded$7 = [\"useNanoClamp\", \"children\"];\nvar _templateObject$h, _templateObject2$d;\nfunction ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nconst Clamp = _ref => {\n  let {\n    children,\n    className,\n    lines\n  } = _ref;\n  return isNil(children) ? null : /*#__PURE__*/React.createElement(l, {\n    className: className,\n    lines: lines,\n    text: children,\n    is: \"p\"\n  });\n};\nconst StyledClamp = styled(Clamp)(_templateObject$h || (_templateObject$h = _taggedTemplateLiteral([\"\\n  &&& {\\n    text-align: inherit;\\n    font-weight: inherit;\\n    font-family: inherit;\\n    color: inherit;\\n    margin: 0;\\n\\n    \", \"\\n  }\\n\"])), _ref2 => {\n  let {\n    $useNanoClamp\n  } = _ref2;\n  return !$useNanoClamp && css(_templateObject2$d || (_templateObject2$d = _taggedTemplateLiteral([\"\\n        overflow: hidden;\\n        white-space: nowrap;\\n        text-overflow: ellipsis;\\n      \"])));\n});\nconst CardText = _ref3 => {\n  let {\n      useNanoClamp = true,\n      children\n    } = _ref3,\n    props = _objectWithoutProperties(_ref3, _excluded$7);\n  const textProps = useNanoClamp ? props : _objectSpread$3(_objectSpread$3({}, props), {}, {\n    as: 'p',\n    title: children\n  });\n  return /*#__PURE__*/React.createElement(StyledClamp, _extends({\n    $useNanoClamp: useNanoClamp\n  }, textProps), children);\n};\n\nconst speed = {\n  short: '100ms',\n  medium: '150ms',\n  long: '300ms'\n};\nconst animation = {\n  short: 'cubic-bezier(.25,.8,.25,1)',\n  medium: 'cubic-bezier(.25,.8,.25,1)',\n  long: 'cubic-bezier(.4, 0, .2, 1)'\n};\nconst createTransition = (properties, s) => {\n  const suffix = \"\".concat(speed[s], \" \").concat(animation[s]);\n  return properties.map(property => \"\".concat(property, \" \").concat(suffix)).join(', ');\n};\nconst transition = {\n  short: function () {\n    for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n      properties[_key] = arguments[_key];\n    }\n    return createTransition(properties, 'short');\n  },\n  medium: function () {\n    for (var _len2 = arguments.length, properties = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      properties[_key2] = arguments[_key2];\n    }\n    return createTransition(properties, 'medium');\n  },\n  long: function () {\n    for (var _len3 = arguments.length, properties = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n      properties[_key3] = arguments[_key3];\n    }\n    return createTransition(properties, 'long');\n  }\n};\n\n// https://primer.style/design/foundations/typography\nconst font = {\n  sans: \"InterUI, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI', Oxygen, Ubuntu, Cantarell, 'Open Sans', sans-serif\",\n  mono: \"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace\"\n};\n\nconst _excluded$6 = [\"autoPlay\", \"children\", \"controls\", \"loop\", \"mediaRef\", \"muted\", \"playsInline\", \"size\"];\nfunction ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nconst initialState = {};\nconst GlobalContext = /*#__PURE__*/React.createContext(initialState);\nconst GlobalState = _ref => {\n  let {\n      autoPlay,\n      children,\n      controls,\n      loop,\n      mediaRef,\n      muted,\n      playsInline,\n      size\n    } = _ref,\n    rest = _objectWithoutProperties(_ref, _excluded$6);\n  const [state, setState] = useState(initialState);\n  const updateState = useCallback(newState => setState(currentState => _objectSpread$2(_objectSpread$2({}, currentState), newState)), []);\n  const props = useMemo(() => ({\n    autoPlay,\n    controls,\n    loop,\n    mediaRef,\n    muted,\n    playsInline,\n    size\n  }), [autoPlay, controls, loop, mediaRef, muted, playsInline, size]);\n  const values = useMemo(() => ({\n    props,\n    state,\n    updateState\n  }), [props, state, updateState]);\n  return /*#__PURE__*/React.createElement(GlobalContext.Provider, {\n    value: values\n  }, children(rest));\n};\n\nvar _templateObject$g, _templateObject2$c, _templateObject3$b, _templateObject4$9, _templateObject5$6, _templateObject6$2, _templateObject7$2, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;\nconst REGEX_STRIP_WWW = /^www\\./;\nconst BADGE_WIDTH = '16px';\nconst BADGE_HEIGHT = '12px';\nconst getHostname = href => {\n  if (isNil(href)) return '';\n  const {\n    hostname\n  } = new URL(href);\n  return hostname.replace(REGEX_STRIP_WWW, '');\n};\nconst mobileDescriptionStyle = css(_templateObject$g || (_templateObject$g = _taggedTemplateLiteral([\"\\n  \", \";\\n\"])), media.mobile(_templateObject2$c || (_templateObject2$c = _taggedTemplateLiteral([\"\\n    > p {\\n      overflow: hidden;\\n      text-overflow: ellipsis;\\n      white-space: nowrap;\\n    }\\n  \"]))));\nconst Content = styled('div').attrs({\n  className: classNames.content\n})(_templateObject3$b || (_templateObject3$b = _taggedTemplateLiteral([\"\\n  display: flex;\\n  padding: 10px 15px;\\n  min-width: 0;\\n  box-sizing: border-box;\\n  \", \";\\n\"])), _ref => {\n  let {\n    $cardSize\n  } = _ref;\n  return css(_templateObject4$9 || (_templateObject4$9 = _taggedTemplateLiteral([\"\\n    flex: \", \";\\n    justify-content: \", \";\\n    flex-direction: \", \";\\n    align-items: \", \";\\n  \"])), !isLarge($cardSize) ? 1 : '0 0 125px', !isSmall($cardSize) ? 'space-around' : 'space-between', !isSmall($cardSize) ? 'column' : 'row', !isSmall($cardSize) ? 'stretch' : 'center');\n});\nconst Header = styled('header').attrs({\n  className: classNames.title\n})(_templateObject5$6 || (_templateObject5$6 = _taggedTemplateLiteral([\"\\n  text-align: left;\\n  font-weight: bold;\\n  margin: 0;\\n  width: 100%;\\n  \", \"\\n\"])), _ref2 => {\n  let {\n    $cardSize\n  } = _ref2;\n  return css(_templateObject6$2 || (_templateObject6$2 = _taggedTemplateLiteral([\"\\n    flex-grow: \", \";\\n    font-size: \", \";\\n\\n    \", \"\\n  \"])), !isSmall($cardSize) ? 1.2 : 0.8, !isSmall($cardSize) ? '16px' : '15px', isSmall($cardSize) && css(_templateObject7$2 || (_templateObject7$2 = _taggedTemplateLiteral([\"\\n      min-width: 0;\\n      padding-right: 14px;\\n    \"]))));\n});\nconst Description = styled('div').attrs({\n  className: classNames.description\n})(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n  text-align: left;\\n  font-size: 14px;\\n  flex-grow: 2;\\n  margin: auto 0;\\n  line-height: 18px;\\n  font-weight: normal;\\n  \", \";\\n\"])), _ref3 => {\n  let {\n    $cardSize\n  } = _ref3;\n  return !isLarge($cardSize) && mobileDescriptionStyle;\n});\nconst Footer = styled('footer').attrs({\n  className: classNames.url\n})(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-between;\\n  text-align: left;\\n  margin: 0;\\n  flex-grow: 0;\\n  font-weight: normal;\\n  \", \";\\n\"])), _ref4 => {\n  let {\n    $cardSize\n  } = _ref4;\n  return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n    font-size: \", \";\\n    \", \"\\n  \"])), !isSmall($cardSize) ? '12px' : '10px', !isSmall($cardSize) && 'width: 100%;');\n});\nconst Author = styled(CardText)(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n  opacity: 0.75;\\n  transition: \", \";\\n  will-change: opacity;\\n\\n  .\", \":hover & {\\n    opacity: 1;\\n  }\\n\"])), transition.medium('opacity'), classNames.main);\nconst PoweredBy = styled('span').attrs({\n  title: 'microlink.io'\n})(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n  background: url('https://cdn.microlink.io/logo/logo.svg') no-repeat center\\n    center;\\n  display: block;\\n  margin-left: 15px;\\n  transition: \", \";\\n  will-change: filter, opacity;\\n  &:not(:hover) {\\n    filter: grayscale(100%);\\n    opacity: 0.75;\\n  }\\n\\n  min-width: \", \";\\n  width: \", \";\\n  background-size: \", \";\\n  height: \", \";\\n\"])), transition.medium('filter', 'opacity'), BADGE_WIDTH, BADGE_WIDTH, BADGE_WIDTH, BADGE_HEIGHT);\nconst CardContent = () => {\n  const {\n    state: {\n      description,\n      title,\n      url\n    },\n    props: {\n      size\n    }\n  } = useContext(GlobalContext);\n  const isSmallCard = isSmall(size);\n  const formattedUrl = useMemo(() => getHostname(url), [url]);\n  const handleOnClick = useCallback(e => {\n    e.preventDefault();\n    window.open('https://www.microlink.io', '_blank');\n  }, []);\n  return /*#__PURE__*/React.createElement(Content, {\n    $cardSize: size\n  }, /*#__PURE__*/React.createElement(Header, {\n    $cardSize: size\n  }, /*#__PURE__*/React.createElement(CardText, {\n    $useNanoClamp: false\n  }, title)), !isSmallCard && /*#__PURE__*/React.createElement(Description, {\n    $cardSize: size\n  }, /*#__PURE__*/React.createElement(CardText, {\n    lines: 2\n  }, description)), /*#__PURE__*/React.createElement(Footer, {\n    $cardSize: size\n  }, /*#__PURE__*/React.createElement(Author, {\n    $useNanoClamp: false\n  }, formattedUrl), /*#__PURE__*/React.createElement(PoweredBy, {\n    onClick: handleOnClick\n  })));\n};\n\nvar _templateObject$f, _templateObject2$b, _templateObject3$a, _templateObject4$8;\nconst emptyStatePulse = keyframes(_templateObject$f || (_templateObject$f = _taggedTemplateLiteral([\"\\n  0% {\\n    background: #e1e8ed;\\n  }\\n  70% {\\n    background: #cdd4d8;\\n  }\\n  100% {\\n    background: #e1e8ed;\\n  }\\n\"])));\nconst emptyStateImagePulse = keyframes(_templateObject2$b || (_templateObject2$b = _taggedTemplateLiteral([\"\\n  0% {\\n    background: #e1e8ed;\\n  }\\n  70% {\\n    background: #dce3e8;\\n  }\\n  100% {\\n    background: #e1e8ed;\\n  }\\n\"])));\nconst emptyStateAnimation = css(_templateObject3$a || (_templateObject3$a = _taggedTemplateLiteral([\"\\n  animation: \", \" .75s linear infinite;\\n\"])), emptyStatePulse);\nconst emptyStateImageAnimation = css(_templateObject4$8 || (_templateObject4$8 = _taggedTemplateLiteral([\"\\n  animation: \", \" 1.25s linear infinite;\\n\"])), emptyStateImagePulse);\n\nvar _templateObject$e, _templateObject2$a, _templateObject3$9;\nconst ImageLoadCatcher = styled('img')(_templateObject$e || (_templateObject$e = _taggedTemplateLiteral([\"\\n  height: 1px;\\n  width: 1px;\\n  position: absolute;\\n  z-index: -1;\\n\"])));\nconst loadingOverlay = css(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteral([\"\\n  &::after {\\n    content: '';\\n    position: absolute;\\n    left: 0;\\n    top: 0;\\n    right: 0;\\n    bottom: 0;\\n    background: #e1e8ed;\\n    z-index: 1;\\n    transition: \", \";\\n    will-change: opacity;\\n\\n    \", \";\\n  }\\n\"])), transition.medium('opacity', 'visibility'), _ref => {\n  let {\n    $isLoading\n  } = _ref;\n  return css(_templateObject3$9 || (_templateObject3$9 = _taggedTemplateLiteral([\"\\n      opacity: \", \";\\n      visibility: \", \";\\n    \"])), $isLoading ? 1 : 0, $isLoading ? '$visible' : 'hidden');\n});\n\nvar _templateObject$d, _templateObject2$9, _templateObject3$8, _templateObject4$7, _templateObject5$5;\nconst mediaSizeStyles = {\n  small: css(_templateObject$d || (_templateObject$d = _taggedTemplateLiteral([\"\\n    flex: 0 0 48px;\\n  \"]))),\n  normal: css(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteral([\"\\n    flex: 0 0 125px;\\n\\n    \", \"\\n  \"])), media.mobile(_templateObject3$8 || (_templateObject3$8 = _taggedTemplateLiteral([\"\\n      flex: 0 0 92px;\\n    \"])))),\n  large: css(_templateObject4$7 || (_templateObject4$7 = _taggedTemplateLiteral([\"\\n    flex: 1;\\n\\n    &::before {\\n      padding-bottom: 0;\\n    }\\n  \"])))\n};\nconst StyledWrap = styled('div')(_templateObject5$5 || (_templateObject5$5 = _taggedTemplateLiteral([\"\\n  background: transparent no-repeat center center / cover;\\n  display: block;\\n  overflow: hidden;\\n  height: auto;\\n  position: relative;\\n\\n  &::before {\\n    content: '';\\n    padding-bottom: 100%;\\n    display: block;\\n  }\\n\\n  \", \";\\n\\n  \", \";\\n\"])), _ref => {\n  let {\n    $cardSize\n  } = _ref;\n  return mediaSizeStyles[$cardSize];\n}, loadingOverlay);\nconst Wrap$1 = props => {\n  const {\n    props: {\n      size\n    }\n  } = useContext(GlobalContext);\n  return /*#__PURE__*/React.createElement(StyledWrap, _extends({\n    $cardSize: size\n  }, props));\n};\n\nvar _templateObject$c;\nconst ImageWrap = styled(Wrap$1).attrs({\n  className: \"\".concat(classNames.media, \" \").concat(classNames.image)\n})(_templateObject$c || (_templateObject$c = _taggedTemplateLiteral([\"\\n  background-image: \", \";\\n\"])), _ref => {\n  let {\n    url\n  } = _ref;\n  return url ? \"url('\".concat(imageProxy(url), \"')\") : '';\n});\nconst ImageComponent = props => {\n  const {\n    state: {\n      imageUrl\n    }\n  } = useContext(GlobalContext);\n  return /*#__PURE__*/React.createElement(ImageWrap, _extends({\n    url: imageUrl\n  }, props));\n};\n\nvar _templateObject$b, _templateObject2$8, _templateObject3$7, _templateObject4$6, _FooterEmpty;\nconst MediaEmpty = styled(ImageComponent)(_templateObject$b || (_templateObject$b = _taggedTemplateLiteral([\"\\n  \", \";\\n\"])), emptyStateImageAnimation);\nconst HeaderEmpty = styled('span')(_templateObject2$8 || (_templateObject2$8 = _taggedTemplateLiteral([\"\\n  opacity: 0.8;\\n  height: 16px;\\n  width: \", \";\\n  display: block;\\n  background: #e1e8ed;\\n  margin: \", \";\\n  \", \";\\n\\n  \", \";\\n\"])), _ref => {\n  let {\n    $cardSize\n  } = _ref;\n  return !isSmall($cardSize) ? '60%' : '75%';\n}, _ref2 => {\n  let {\n    $cardSize\n  } = _ref2;\n  return !isSmall($cardSize) ? '2px 0 8px' : '0 20px 0 0';\n}, emptyStateAnimation, _ref3 => {\n  let {\n    $cardSize\n  } = _ref3;\n  return !isLarge($cardSize) && \"\\n    height: 15px;\\n  \";\n});\nconst DescriptionEmpty = styled('span')(_templateObject3$7 || (_templateObject3$7 = _taggedTemplateLiteral([\"\\n  opacity: 0.8;\\n  height: 14px;\\n  width: 95%;\\n  display: block;\\n  position: relative;\\n  \", \";\\n  animation-delay: 0.125s;\\n\"])), emptyStateAnimation);\nconst FooterEmpty = styled('span')(_templateObject4$6 || (_templateObject4$6 = _taggedTemplateLiteral([\"\\n  opacity: 0.8;\\n  height: 12px;\\n  width: 30%;\\n  display: block;\\n  \", \" animation-delay: .25s;\\n\\n  \", \";\\n\"])), emptyStateAnimation, _ref4 => {\n  let {\n    $cardSize\n  } = _ref4;\n  return !isLarge($cardSize) && \"\\n    height: 10px;\\n  \";\n});\nconst CardEmptyState = () => {\n  const {\n    props: {\n      size\n    }\n  } = useContext(GlobalContext);\n  const isSmallCard = isSmall(size);\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MediaEmpty, {\n    $cardSize: size\n  }), /*#__PURE__*/React.createElement(Content, {\n    $cardSize: size\n  }, /*#__PURE__*/React.createElement(HeaderEmpty, {\n    $cardSize: size\n  }), !isSmallCard ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DescriptionEmpty, {\n    $cardSize: size\n  }), /*#__PURE__*/React.createElement(DescriptionEmpty, {\n    $cardSize: size,\n    style: {\n      marginBottom: '12px'\n    }\n  })) : null, _FooterEmpty || (_FooterEmpty = /*#__PURE__*/React.createElement(FooterEmpty, null))));\n};\n\nvar _templateObject$a;\nconst MediaButton = styled('div')(_templateObject$a || (_templateObject$a = _taggedTemplateLiteral([\"\\n  backface-visibility: hidden;\\n  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));\\n  transition: \", \";\\n  will-change: transform;\\n\\n  > svg {\\n    display: block;\\n  }\\n\\n  &:active:not(:focus) {\\n    transform: scale(0.9);\\n  }\\n\"])), transition.short('transform'));\n\nvar _path$2, _path2$2, _templateObject$9, _templateObject2$7, _templateObject3$6, _templateObject4$5, _templateObject5$4, _templateObject6$1, _templateObject7$1;\nconst VolumeMute = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 14 14\"\n}, props), _path$2 || (_path$2 = /*#__PURE__*/React.createElement(\"path\", {\n  fill: \"#FFF\",\n  fillRule: \"evenodd\",\n  stroke: \"none\",\n  strokeWidth: \"1\",\n  d: \"M15.5 6.205l-.705-.705L13 7.295 11.205 5.5l-.705.705L12.295 8 10.5 9.795l.705.705L13 8.705l1.795 1.795.705-.705L13.705 8 15.5 6.205zM9 15a.5.5 0 01-.355-.15L4.835 11H1.5a.5.5 0 01-.5-.5v-5a.5.5 0 01.5-.5h3.335l3.81-3.85a.5.5 0 01.705 0 .5.5 0 01.15.35v13a.5.5 0 01-.5.5z\",\n  transform: \"translate(-1 -1)\"\n})));\nconst VolumeUp = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 14 14\"\n}, props), _path2$2 || (_path2$2 = /*#__PURE__*/React.createElement(\"path\", {\n  fill: \"#FFF\",\n  fillRule: \"evenodd\",\n  stroke: \"none\",\n  strokeWidth: \"1\",\n  d: \"M13.58 4.04l-.765.645a5 5 0 01-.145 6.615l.735.7a6 6 0 00.175-7.94v-.02zM10.79 6a3 3 0 01-.09 3.97l.735.68a4 4 0 00.115-5.295L10.79 6zM9 15a.5.5 0 01-.355-.15L4.835 11H1.5a.5.5 0 01-.5-.5v-5a.5.5 0 01.5-.5h3.335l3.81-3.85a.5.5 0 01.705 0 .5.5 0 01.15.35v13a.5.5 0 01-.5.5z\",\n  transform: \"translate(-1 -1)\"\n})));\nconst BottomControls = styled('div')(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteral([\"\\n  z-index: 2;\\n  position: absolute;\\n  bottom: \", \"px;\\n  left: 0;\\n  right: 0;\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n  transition: \", \";\\n  will-change: opacity;\\n\"])), _ref => {\n  let {\n    $cardSize\n  } = _ref;\n  return isLarge($cardSize) ? 18 : 14;\n}, transition.medium('opacity'));\nconst VolumeIcon = styled('svg')(_templateObject2$7 || (_templateObject2$7 = _taggedTemplateLiteral([\"\\n  stroke: #fff;\\n\"])));\nconst VolumeButton = styled(MediaButton).attrs({\n  className: classNames.volumeControl\n})(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteral([\"\\n  \", \" {\\n    width: \", \"px;\\n    height: \", \"px;\\n\\n    \", \"\\n  }\\n\"])), VolumeIcon, _ref2 => {\n  let {\n    $cardSize\n  } = _ref2;\n  return isLarge($cardSize) ? 16 : 14;\n}, _ref3 => {\n  let {\n    $cardSize\n  } = _ref3;\n  return isLarge($cardSize) ? 16 : 14;\n}, _ref4 => {\n  let {\n    $cardSize\n  } = _ref4;\n  return !isLarge($cardSize) && media.mobile(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteral([\"\\n      width: 12px;\\n      height: 12px;\\n    \"])));\n});\nconst PlaybackRateButton = styled(MediaButton).attrs({\n  className: classNames.rateControl\n})(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteral([\"\\n  font-size: \", \"px;\\n  min-width: \", \"px;\\n  line-height: 1;\\n  font-weight: bold;\\n  border: 1.5px solid #fff;\\n  border-radius: 9999px;\\n  padding: 1px 5px;\\n  text-align: center;\\n  color: #fff;\\n  margin-left: 10px;\\n\\n  \", \"\\n\"])), _ref5 => {\n  let {\n    $cardSize\n  } = _ref5;\n  return isLarge($cardSize) ? 12 : 10;\n}, _ref6 => {\n  let {\n    $cardSize\n  } = _ref6;\n  return isLarge($cardSize) ? 33 : 28;\n}, _ref7 => {\n  let {\n    $cardSize\n  } = _ref7;\n  return !isLarge($cardSize) && media.mobile(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteral([\"\\n    font-size: 8px;\\n    margin-left: 8px;\\n    min-width: 23px;\\n  \"])));\n});\nconst TimeLabel = styled('span').attrs({\n  className: classNames.progressTime\n})(_templateObject7$1 || (_templateObject7$1 = _taggedTemplateLiteral([\"\\n  margin: \", \";\\n  font-family: \", \";\\n  font-size: 12px;\\n  padding: 0 16px;\\n  color: #fff;\\n  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);\\n\"])), _ref8 => {\n  let {\n    $right\n  } = _ref8;\n  return !$right ? '0 auto 0 0' : '0 0 0 auto';\n}, font.mono);\nconst FooterControls = _ref9 => {\n  let {\n    $cardSize,\n    currentTime,\n    endTime,\n    isMuted,\n    onMuteClick,\n    onPlaybackRateClick,\n    playbackRate\n  } = _ref9;\n  const VolumeComponent = useMemo(() => isMuted ? VolumeMute : VolumeUp, [isMuted]);\n  const isLargeCard = useMemo(() => isLarge($cardSize), [$cardSize]);\n  return /*#__PURE__*/React.createElement(BottomControls, {\n    $cardSize: $cardSize\n  }, isLargeCard && /*#__PURE__*/React.createElement(TimeLabel, null, currentTime), /*#__PURE__*/React.createElement(VolumeButton, {\n    title: isMuted ? 'Unmute' : 'Mute',\n    $cardSize: $cardSize,\n    onClick: onMuteClick\n  }, /*#__PURE__*/React.createElement(VolumeIcon, {\n    as: VolumeComponent\n  })), /*#__PURE__*/React.createElement(PlaybackRateButton, {\n    title: \"Playback Rate\",\n    $cardSize: $cardSize,\n    onClick: onPlaybackRateClick\n  }, /*#__PURE__*/React.createElement(\"span\", null, playbackRate, \"x\")), isLargeCard && /*#__PURE__*/React.createElement(TimeLabel, {\n    $right: true\n  }, endTime));\n};\n\nconst _excluded$5 = [\"$isPlaying\"];\nvar _path$1, _path2$1, _templateObject$8, _templateObject2$6, _templateObject3$5, _templateObject4$4;\nconst Pause = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 16 20\"\n}, props), _path$1 || (_path$1 = /*#__PURE__*/React.createElement(\"path\", {\n  fill: \"#FFF\",\n  fillRule: \"evenodd\",\n  stroke: \"none\",\n  strokeWidth: \"1\",\n  d: \"M12 6h-2a2 2 0 00-2 2v16a2 2 0 002 2h2a2 2 0 002-2V8a2 2 0 00-2-2zm10 0h-2a2 2 0 00-2 2v16a2 2 0 002 2h2a2 2 0 002-2V8a2 2 0 00-2-2z\",\n  transform: \"translate(-8 -6)\"\n})));\nconst Play = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 21 24\"\n}, props), _path2$1 || (_path2$1 = /*#__PURE__*/React.createElement(\"path\", {\n  fill: \"#FFF\",\n  fillRule: \"evenodd\",\n  stroke: \"none\",\n  strokeWidth: \"1\",\n  d: \"M7 28a1 1 0 01-1-1V5a1 1 0 011.501-.865l19 11a1 1 0 010 1.73l-19 11A.998.998 0 017 28z\",\n  transform: \"translate(-6 -4)\"\n})));\nconst iconSizes = {\n  large: '50px',\n  normal: '35px',\n  small: '20px'\n};\nconst PlaybackIcon = styled('svg')(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteral([\"\\n  stroke: #fff;\\n\"])));\nconst PlaybackButtonWrap = styled(MediaButton).attrs({\n  className: classNames.playbackControl\n})(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteral([\"\\n  \", \" {\\n    \", \"\\n  }\\n\"])), PlaybackIcon, _ref => {\n  let {\n    $cardSize\n  } = _ref;\n  return css(_templateObject3$5 || (_templateObject3$5 = _taggedTemplateLiteral([\"\\n      width: \", \";\\n      height: \", \";\\n      padding: \", \";\\n\\n      \", \"\\n    \"])), iconSizes[$cardSize], iconSizes[$cardSize], isLarge($cardSize) ? 0 : '8px', !isLarge($cardSize) && !isSmall($cardSize) && media.mobile(_templateObject4$4 || (_templateObject4$4 = _taggedTemplateLiteral([\"\\n        width: calc(\", \" * 1.2);\\n        height: calc(\", \" * 1.2);\\n      \"])), iconSizes.small, iconSizes.small));\n});\nconst PlaybackButton = _ref2 => {\n  let {\n      $isPlaying\n    } = _ref2,\n    props = _objectWithoutProperties(_ref2, _excluded$5);\n  const PlaybackComponent = useMemo(() => $isPlaying ? Pause : Play, [$isPlaying]);\n  return /*#__PURE__*/React.createElement(PlaybackButtonWrap, _extends({\n    title: $isPlaying ? 'Pause' : 'Play'\n  }, props), /*#__PURE__*/React.createElement(PlaybackIcon, {\n    as: PlaybackComponent\n  }));\n};\n\nvar _templateObject$7, _templateObject2$5;\nconst SCRUBBER_SIZE = 12;\nconst scrubberSizeScales = {\n  normal: 0.8,\n  small: 0.9\n};\nconst getScrubberSize = size => Math.floor(SCRUBBER_SIZE * (scrubberSizeScales[size] || 1));\nconst Scrubber = styled('div').attrs(_ref => {\n  let {\n    $isVisible,\n    $positionX\n  } = _ref;\n  return {\n    style: {\n      left: $positionX,\n      transform: \"scale(\".concat($isVisible ? 1 : 0.5, \") translate(-50%, -50%)\"),\n      opacity: $isVisible ? 1 : 0,\n      visibility: $isVisible ? '$visible' : 'hidden'\n    }\n  };\n})(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteral([\"\\n  position: absolute;\\n  top: 50%;\\n  background: #ffffff;\\n  border-radius: 50%;\\n  transform-origin: center center;\\n  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);\\n  transition: \", \";\\n  will-change: left, transform, opacity, visibility;\\n  backface-visibility: hidden;\\n  z-index: 3;\\n\\n  \", \"\\n\"])), transition.short('transform', 'opacity', 'visibility'), _ref2 => {\n  let {\n    $cardSize\n  } = _ref2;\n  const scrubberSize = getScrubberSize($cardSize);\n  return css(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteral([\"\\n      height: \", \"px;\\n      width: \", \"px;\\n    \"])), scrubberSize, scrubberSize);\n});\n\nconst _excluded$4 = [\"$isDragging\", \"$isVisible\", \"label\", \"$positionX\", \"size\"];\nvar _templateObject$6;\nconst BASE_FONT_SIZE = 11;\nconst sizeScales$1 = {\n  normal: 0.8\n};\nconst getMarkerFontSize = size => BASE_FONT_SIZE * (sizeScales$1[size] || 1);\nconst TooltipBase = styled('span').attrs(_ref => {\n  let {\n    $position,\n    $isDragging,\n    $visible\n  } = _ref;\n  return {\n    style: {\n      left: \"\".concat($position, \"px\"),\n      top: $visible ? '-4px' : '0px',\n      visibility: $visible ? '$visible' : 'hidden',\n      opacity: $visible ? 1 : 0,\n      transform: \"translate(-50%, \".concat(!$isDragging ? -100 : -110, \"%)\")\n    }\n  };\n})(_templateObject$6 || (_templateObject$6 = _taggedTemplateLiteral([\"\\n  position: absolute;\\n  background: rgba(24, 25, 25, 0.75);\\n  color: #fff;\\n  text-shadow: 0 1px 2px rgba(24, 25, 25, 0.15);\\n  padding: 2px 3px;\\n  border-radius: 4px;\\n  font-family: \", \";\\n  font-size: \", \"px;\\n  line-height: 1;\\n  transition: \", \",\\n    \", \";\\n  will-change: top, left, visibility, opacity, transform;\\n  backface-visibility: hidden;\\n\"])), font.mono, _ref2 => {\n  let {\n    $cardSize\n  } = _ref2;\n  return getMarkerFontSize($cardSize);\n}, transition.medium('opacity', 'visibility', 'transform'), transition.long('top'));\nconst Tooltip = /*#__PURE__*/forwardRef((_ref3, ref) => {\n  let {\n      $isDragging,\n      $isVisible,\n      label,\n      $positionX,\n      size\n    } = _ref3,\n    props = _objectWithoutProperties(_ref3, _excluded$4);\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TooltipBase, _extends({\n    $visible: $isVisible,\n    $position: $positionX,\n    $cardSize: size,\n    ref: ref,\n    $isDragging: $isDragging\n  }, props), label));\n});\nTooltip.displayName = 'Tooltip';\n\nconst _excluded$3 = [\"key\"];\nvar _templateObject$5, _templateObject2$4, _templateObject3$4, _templateObject4$3, _templateObject5$3, _templateObject6, _templateObject7;\nconst HEIGHT$1 = 6;\nconst PADDING = 6;\nconst heightScales = {\n  normal: 0.7,\n  small: 0.6\n};\nconst activeHeightScales = {\n  small: 0.9,\n  large: 1.4\n};\nconst getProgressBarHeight = size => Math.floor(HEIGHT$1 * (heightScales[size] || 1));\nconst getProgressBarActiveHeight = size => Math.floor(HEIGHT$1 * (activeHeightScales[size] || 1));\nconst OuterWrap$1 = styled('div').attrs(() => ({\n  className: classNames.progressBar\n}))(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteral([\"\\n  position: relative;\\n  padding: \", \"px \", \"px \", \"px;\\n  z-index: 2;\\n  backface-visibility: hidden;\\n\"])), PADDING, PADDING / 2, PADDING / 2);\nconst BarsWrap = styled('div').attrs(_ref => {\n  let {\n    $cardSize,\n    $isDragging\n  } = _ref;\n  if ($isDragging) {\n    const activeHeight = getProgressBarActiveHeight($cardSize);\n    return {\n      style: {\n        height: \"\".concat(activeHeight, \"px\")\n      }\n    };\n  }\n  return {};\n})(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteral([\"\\n  background: transparent;\\n  border-radius: 9999px;\\n  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);\\n  background: rgba(255, 255, 255, 0.15);\\n  transition: \", \";\\n  will-change: height;\\n  pointer-events: none;\\n  position: relative;\\n\\n  \", \"\\n\"])), transition.short('height'), _ref2 => {\n  let {\n    $cardSize\n  } = _ref2;\n  const height = getProgressBarHeight($cardSize);\n  const activeHeight = getProgressBarActiveHeight($cardSize);\n  return css(_templateObject3$4 || (_templateObject3$4 = _taggedTemplateLiteral([\"\\n      height: \", \"px;\\n\\n      \", \":hover & {\\n        height: \", \"px;\\n      }\\n    \"])), height, OuterWrap$1, activeHeight);\n});\nconst ProgressLine = styled('div')(_templateObject4$3 || (_templateObject4$3 = _taggedTemplateLiteral([\"\\n  border-radius: inherit;\\n  height: 100%;\\n  position: relative;\\n  overflow: hidden;\\n\"])));\nconst ProgressMask = styled('div').attrs(_ref3 => {\n  let {\n    $maskScale\n  } = _ref3;\n  return {\n    style: {\n      transform: \"scaleX(\".concat($maskScale, \")\")\n    }\n  };\n})(_templateObject5$3 || (_templateObject5$3 = _taggedTemplateLiteral([\"\\n  position: absolute;\\n  left: 0;\\n  top: -50%;\\n  height: 200%;\\n  width: 100%;\\n  background: #ffffff;\\n  transform-origin: left center;\\n  will-change: transform;\\n\"])));\nconst ProgressHover = styled('div').attrs(_ref4 => {\n  let {\n    $cursorRatio,\n    $isHovering,\n    $progressPercent\n  } = _ref4;\n  return {\n    style: {\n      left: $progressPercent,\n      transform: \"scaleX(\".concat($cursorRatio, \")\"),\n      opacity: $isHovering ? 1 : 0,\n      visibility: $isHovering ? '$visible' : 'hidden'\n    }\n  };\n})(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n  position: absolute;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  background: rgba(255, 255, 255, 0.4);\\n  transform-origin: left center;\\n  transition: \", \";\\n  will-change: left, transform, opacity, $visible;\\n\"])), transition.short('opacity', 'visibility'));\nconst BufferedChunk = styled('div').attrs(_ref5 => {\n  let {\n    start,\n    end\n  } = _ref5;\n  return {\n    style: {\n      left: \"\".concat(start, \"px\"),\n      right: \"\".concat(end, \"px\")\n    }\n  };\n})(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n  background: rgba(255, 255, 255, 0.35);\\n  position: absolute;\\n  top: 0;\\n  bottom: 0;\\n\"])));\nconst ProgressBar = _ref6 => {\n  let {\n    bufferedMedia,\n    cursorX,\n    duration,\n    hoveredTime,\n    $isDragging,\n    $isHovering,\n    onClick,\n    onMouseDown,\n    onMouseOver,\n    progress,\n    showTooltip\n  } = _ref6;\n  const {\n    props: {\n      size\n    }\n  } = useContext(GlobalContext);\n  const wrapRef = useRef();\n  const tooltipRef = useRef();\n  const isSmallCard = useMemo(() => isSmall(size), [size]);\n  const getWrapWidth = useCallback(() => {\n    if (wrapRef.current) {\n      return wrapRef.current.getBoundingClientRect().width - PADDING;\n    }\n    return 0;\n  }, []);\n  const progressRatio = useMemo(() => clampNumber(progress / duration, 0, 1), [duration, progress]);\n  const $progressPercent = useMemo(() => \"\".concat(clampNumber(progressRatio * 100, 1, 99), \"%\"), [progressRatio]);\n  const $cursorRatio = useMemo(() => {\n    if (wrapRef.current) {\n      const wrapWidth = getWrapWidth();\n      const startPoint = progressRatio * wrapWidth;\n      const cursorPosition = cursorX - startPoint;\n      const width = wrapWidth - startPoint;\n      if (cursorPosition > 0) {\n        return clampNumber((cursorPosition / width).toFixed(3), 0, 0.99);\n      }\n    }\n    return 0;\n  }, [cursorX, getWrapWidth, progressRatio]);\n  const bufferedMediaChunks = useMemo(() => {\n    const wrapWidth = getWrapWidth();\n    return bufferedMedia.map((chunk, key) => {\n      const start = chunk.start * wrapWidth;\n      const end = wrapWidth - chunk.end * wrapWidth;\n      return {\n        key,\n        start,\n        end\n      };\n    });\n  }, [bufferedMedia, getWrapWidth]);\n  const tooltipLabel = useMemo(() => formatSeconds(hoveredTime), [hoveredTime]);\n  const tooltipPositionX = useMemo(() => {\n    if (wrapRef.current && tooltipRef.current) {\n      const wrapWidth = getWrapWidth();\n      const tooltipWidth = tooltipRef.current.getBoundingClientRect().width;\n      const tooltipHalf = tooltipWidth / 2;\n      return clampNumber(cursorX, tooltipHalf, wrapWidth - tooltipHalf);\n    }\n    return 0;\n  }, [cursorX, getWrapWidth]);\n  const mouseEvents = useMemo(() => ({\n    onClick,\n    onMouseDown,\n    onMouseOver\n  }), [onClick, onMouseDown, onMouseOver]);\n  const showAccessories = useMemo(() => $isDragging || $isHovering, [$isDragging, $isHovering]);\n  return /*#__PURE__*/React.createElement(OuterWrap$1, _extends({\n    $cardSize: size,\n    ref: wrapRef\n  }, mouseEvents), /*#__PURE__*/React.createElement(BarsWrap, {\n    $cardSize: size,\n    $isDragging: $isDragging\n  }, /*#__PURE__*/React.createElement(ProgressLine, null, /*#__PURE__*/React.createElement(ProgressHover, {\n    $cursorRatio: $cursorRatio,\n    $isHovering: $isHovering,\n    $progressPercent: $progressPercent\n  }), bufferedMediaChunks.map(_ref7 => {\n    let {\n        key\n      } = _ref7,\n      chunk = _objectWithoutProperties(_ref7, _excluded$3);\n    return /*#__PURE__*/React.createElement(BufferedChunk, _extends({\n      key: key\n    }, chunk));\n  }), /*#__PURE__*/React.createElement(ProgressMask, {\n    $maskScale: progressRatio\n  })), /*#__PURE__*/React.createElement(Scrubber, {\n    $cardSize: size,\n    $isVisible: showAccessories,\n    $positionX: $progressPercent\n  }), !isSmallCard && /*#__PURE__*/React.createElement(Tooltip, {\n    $isDragging: $isDragging,\n    $isVisible: showAccessories,\n    label: tooltipLabel,\n    $positionX: tooltipPositionX,\n    ref: tooltipRef,\n    size: size\n  })));\n};\n\nvar _path, _path2, _templateObject$4, _templateObject2$3, _templateObject3$3;\nconst _excluded$2 = [\"$cardSize\"],\n  _excluded2$1 = [\"$cardSize\"],\n  _excluded3 = [\"type\", \"$cardSize\"];\nconst Backward = _ref => {\n  let props = _objectWithoutProperties(_ref, _excluded$2);\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    xmlns: \"http://www.w3.org/2000/svg\",\n    viewBox: \"0 0 24 29\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#FFF\",\n    fillRule: \"evenodd\",\n    stroke: \"none\",\n    strokeWidth: \"1\",\n    d: \"M4 18c0 6.627 5.373 12 12 12s12-5.373 12-12S22.627 6 16 6h-4V1L6 7l6 6V8h4c5.523 0 10 4.477 10 10s-4.477 10-10 10S6 23.523 6 18H4zm15.63 4.13a2.84 2.84 0 01-1.28-.27 2.44 2.44 0 01-.89-.77 3.57 3.57 0 01-.52-1.25 7.69 7.69 0 01-.17-1.68 7.83 7.83 0 01.17-1.68c.094-.445.27-.87.52-1.25.23-.325.535-.59.89-.77.4-.188.838-.28 1.28-.27a2.44 2.44 0 012.16 1 5.23 5.23 0 01.7 2.93 5.23 5.23 0 01-.7 2.93 2.44 2.44 0 01-2.16 1.08zm0-1.22c.411.025.8-.19 1-.55a3.38 3.38 0 00.37-1.51v-1.38a3.31 3.31 0 00-.29-1.5 1.23 1.23 0 00-2.06 0 3.31 3.31 0 00-.29 1.5v1.38a3.38 3.38 0 00.29 1.51c.195.356.575.57.98.55zm-9 1.09v-1.18h2v-5.19l-1.86 1-.55-1.06 2.32-1.3H14v6.5h1.78V22h-5.15z\",\n    transform: \"translate(-4 -1)\"\n  })));\n};\nconst Forward = _ref2 => {\n  let props = _objectWithoutProperties(_ref2, _excluded2$1);\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    xmlns: \"http://www.w3.org/2000/svg\",\n    viewBox: \"0 0 24 29\"\n  }, props), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#FFF\",\n    fillRule: \"evenodd\",\n    stroke: \"none\",\n    strokeWidth: \"1\",\n    d: \"M26 18c0 5.523-4.477 10-10 10S6 23.523 6 18 10.477 8 16 8h4v5l6-6-6-6v5h-4C9.373 6 4 11.373 4 18s5.373 12 12 12 12-5.373 12-12h-2zm-6.36 4.13a2.81 2.81 0 01-1.28-.27 2.36 2.36 0 01-.89-.77 3.39 3.39 0 01-.47-1.25 7.12 7.12 0 01-.17-1.68 7.24 7.24 0 01.17-1.68 3.46 3.46 0 01.52-1.25 2.36 2.36 0 01.89-.77c.4-.19.838-.282 1.28-.27a2.44 2.44 0 012.16 1 5.31 5.31 0 01.7 2.93 5.31 5.31 0 01-.7 2.93 2.44 2.44 0 01-2.21 1.08zm0-1.22a1 1 0 001-.55c.22-.472.323-.99.3-1.51v-1.38a3.17 3.17 0 00-.3-1.5 1.22 1.22 0 00-2.05 0 3.18 3.18 0 00-.29 1.5v1.38a3.25 3.25 0 00.29 1.51 1 1 0 001.05.55zm-7.02-3.49c.355.035.71-.06 1-.27a.84.84 0 00.31-.68v-.08a.94.94 0 00-.3-.74 1.2 1.2 0 00-.83-.27 1.65 1.65 0 00-.89.24 2.1 2.1 0 00-.68.68l-.93-.83a5.37 5.37 0 01.44-.51 2.7 2.7 0 01.54-.4 2.55 2.55 0 01.7-.27 3.25 3.25 0 01.87-.1 3.94 3.94 0 011.06.14c.297.078.576.214.82.4.224.168.408.383.54.63.123.26.184.543.18.83a2 2 0 01-.11.67 1.82 1.82 0 01-.32.52 1.79 1.79 0 01-.47.36 2.27 2.27 0 01-.57.2V18c.219.04.431.11.63.21a1.7 1.7 0 01.85.93c.084.234.124.481.12.73a2 2 0 01-.2.92 2 2 0 01-.58.72 2.66 2.66 0 01-.89.45 3.76 3.76 0 01-1.15.16 4.1 4.1 0 01-1-.11 3.1 3.1 0 01-.76-.31 2.76 2.76 0 01-.56-.45 4.22 4.22 0 01-.44-.55l1.07-.81c.082.147.175.288.28.42.105.128.226.243.36.34.137.097.29.171.45.22a2 2 0 00.57.07 1.45 1.45 0 001-.3 1.12 1.12 0 00.34-.85v-.08a1 1 0 00-.37-.8 1.78 1.78 0 00-1.06-.28h-.76v-1.21h.74z\",\n    transform: \"translate(-4 -1)\"\n  })));\n};\nconst SeekIcon = styled('svg')(_templateObject$4 || (_templateObject$4 = _taggedTemplateLiteral([\"\\n  stroke: #fff;\\n  width: \", \"px;\\n  height: \", \"px;\\n\\n  \", \"\\n\"])), _ref3 => {\n  let {\n    $cardSize\n  } = _ref3;\n  return isLarge($cardSize) ? 30 : 24;\n}, _ref4 => {\n  let {\n    $cardSize\n  } = _ref4;\n  return isLarge($cardSize) ? 30 : 24;\n}, _ref5 => {\n  let {\n    $cardSize\n  } = _ref5;\n  return !isLarge($cardSize) && media.mobile(_templateObject2$3 || (_templateObject2$3 = _taggedTemplateLiteral([\"\\n    width: 0;\\n    height: 0;\\n  \"])));\n});\nconst SeekButtonWrap = styled(MediaButton)(_templateObject3$3 || (_templateObject3$3 = _taggedTemplateLiteral([\"\\n  margin: 0 \", \";\\n\"])), _ref6 => {\n  let {\n    $cardSize\n  } = _ref6;\n  return isLarge($cardSize) ? '28px' : '3px';\n});\nconst SeekButton = _ref7 => {\n  let {\n      type = 'rewind',\n      $cardSize\n    } = _ref7,\n    props = _objectWithoutProperties(_ref7, _excluded3);\n  const IconComponent = useMemo(() => type === 'rewind' ? Backward : Forward, [type]);\n  return /*#__PURE__*/React.createElement(SeekButtonWrap, _extends({\n    title: type === 'rewind' ? 'Rewind' : 'Forward',\n    $cardSize: $cardSize\n  }, props), /*#__PURE__*/React.createElement(SeekIcon, {\n    as: IconComponent,\n    $cardSize: $cardSize\n  }));\n};\n\nvar _templateObject$3, _templateObject2$2, _templateObject3$2, _templateObject4$2, _templateObject5$2, _Svg;\nconst BASE_SIZE = 12;\nconst BASE_OFFSET = 6;\nconst offsetScales = {\n  normal: 0.8,\n  small: 0.6\n};\nconst sizeScales = {\n  normal: 0.9,\n  small: 0.8\n};\nconst getSpinnerOffset = size => Math.floor(BASE_OFFSET * (offsetScales[size] || 1));\nconst getSpinnerSize = size => Math.floor(BASE_SIZE * (sizeScales[size] || 1));\nconst rotate = keyframes(_templateObject$3 || (_templateObject$3 = _taggedTemplateLiteral([\"\\n  100% {\\n    transform: rotate(360deg);\\n  }\\n\"])));\nconst dash = keyframes(_templateObject2$2 || (_templateObject2$2 = _taggedTemplateLiteral([\"\\n  0% {\\n    stroke-dasharray: 1, 150;\\n    stroke-dashoffset: 0;\\n  }\\n  50% {\\n    stroke-dasharray: 90, 150;\\n    stroke-dashoffset: -35;\\n  }\\n  100% {\\n    stroke-dasharray: 90, 150;\\n    stroke-dashoffset: -124;\\n  }\\n\"])));\nconst Wrap = styled(MediaButton).attrs(_ref => {\n  let {\n    $isVisible\n  } = _ref;\n  return {\n    style: {\n      opacity: $isVisible ? 1 : 0,\n      visibility: $isVisible ? '$visible' : 'hidden'\n    }\n  };\n})(_ref2 => {\n  let {\n    $cardSize\n  } = _ref2;\n  const size = \"\".concat(getSpinnerSize($cardSize), \"px\");\n  const offset = \"\".concat(getSpinnerOffset($cardSize), \"px\");\n  return css(_templateObject3$2 || (_templateObject3$2 = _taggedTemplateLiteral([\"\\n    position: absolute;\\n    width: \", \";\\n    right: \", \";\\n    top: \", \";\\n    transition: \", \";\\n    will-change: opacity, visibility;\\n    pointer-events: none;\\n  \"])), size, offset, offset, transition.medium('opacity', 'visibility'));\n});\nconst Svg = styled('svg')(_templateObject4$2 || (_templateObject4$2 = _taggedTemplateLiteral([\"\\n  width: 100%;\\n  animation: \", \" 2s linear infinite;\\n  will-change: transform;\\n\"])), rotate);\nconst Circle = styled('circle')(_templateObject5$2 || (_templateObject5$2 = _taggedTemplateLiteral([\"\\n  stroke: #fff;\\n  stroke-linecap: round;\\n  stroke-width: 7;\\n  fill: none;\\n  animation: \", \" 1.5s ease-in-out infinite;\\n  will-change: stroke-dasharray, stroke-dashoffset;\\n\"])), dash);\nconst Spinner = _ref3 => {\n  let {\n    size,\n    $isVisible\n  } = _ref3;\n  return /*#__PURE__*/React.createElement(Wrap, {\n    $cardSize: size,\n    className: classNames.spinner,\n    $isVisible: $isVisible\n  }, _Svg || (_Svg = /*#__PURE__*/React.createElement(Svg, {\n    viewBox: \"0 0 50 50\"\n  }, /*#__PURE__*/React.createElement(Circle, {\n    cx: \"25\",\n    cy: \"25\",\n    r: \"20\"\n  }))));\n};\n\nvar _templateObject$2, _templateObject2$1, _templateObject3$1, _templateObject4$1, _templateObject5$1;\nconst SPACE_KEY = 32;\nconst L_ARROW_KEY = 37;\nconst R_ARROW_KEY = 39;\nconst M_KEY = 77;\nconst OuterWrap = styled('div').attrs({\n  className: classNames.mediaControls\n})(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral([\"\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  transition: \", \", \", \";\\n  will-change: background;\\n  display: flex;\\n  flex-direction: column;\\n  pointer-events: auto;\\n\\n  \", \"\\n\"])), transition.long('background'), transition.medium('opacity'), _ref => {\n  let {\n    $hasInteracted,\n    $isDragging,\n    $isPlaying\n  } = _ref;\n  const bg = 'rgba(0, 0, 0, 0.35)';\n  const dragBg = 'rgba(0, 0, 0, 0.2)';\n  const isPaused = $hasInteracted && !$isPlaying;\n  return css(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral([\"\\n      .\", \":hover & {\\n        background: \", \";\\n      }\\n\\n      .\", \":not(:hover) & {\\n        opacity: \", \";\\n        \", \";\\n      }\\n    \"])), classNames.main, !$isDragging ? bg : dragBg, classNames.main, !$hasInteracted || isPaused ? 1 : 0, isPaused && \"background: \".concat(bg));\n});\nconst InnerWrap = styled('div')(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteral([\"\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n  z-index: 2;\\n\"])));\nconst ControlsTop = styled('div')(_templateObject4$1 || (_templateObject4$1 = _taggedTemplateLiteral([\"\\n  flex: 1;\\n\\n  \", \"\\n\"])), _ref2 => {\n  let {\n    $isVisible\n  } = _ref2;\n  return !$isVisible && css(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral([\"\\n      *[class*='\", \"']:not(.\", \") {\\n        transition: \", \";\\n        opacity: 0;\\n        visibility: hidden;\\n      }\\n    \"])), classNames.mediaControls, classNames.progressTime, transition.medium('opacity', 'visibility'));\n});\nconst getNextPlaybackRate = rate => {\n  switch (rate) {\n    case 1:\n      return 1.25;\n    case 1.25:\n      return 1.5;\n    case 1.5:\n      return 2;\n    default:\n      return 1;\n  }\n};\nconst Controls = _ref3 => {\n  let {\n    MediaComponent,\n    mediaProps\n  } = _ref3;\n  const {\n    props: {\n      autoPlay,\n      controls,\n      mediaRef: propRef,\n      muted,\n      loop,\n      size\n    }\n  } = useContext(GlobalContext);\n  const [duration, setDuration] = useState(0);\n  const [progress, setProgress] = useState(0);\n  const [buffered, setBuffered] = useState([]);\n  const [cursorX, setCursorX] = useState(0);\n  const [hoveredTime, setHoveredTime] = useState(0);\n  const [$isPlaying, setIsPlaying] = useState(autoPlay);\n  const [isMuted, setIsMuted] = useState(muted);\n  const [isBuffering, setIsBuffering] = useState(false);\n  const [$isHovering, setIsHovering] = useState(false);\n  const [$isDragging, setIsDragging] = useState(false);\n  const [playbackRate, setPlaybackRate] = useState(1);\n  const [$hasInteracted, setHasInteracted] = useState(autoPlay);\n  const [pausedByDrag, setPausedByDrag] = useState(false);\n  const mediaRef = useRef();\n  const setRefs = useCallback(node => {\n    mediaRef.current = node;\n    if (propRef) {\n      if (isFunction(propRef)) {\n        propRef(node);\n      } else {\n        propRef.current = node;\n      }\n    }\n  }, [propRef]);\n  const isNotSmall = useMemo(() => !isSmall(size), [size]);\n  const mediaEvents = useMemo(() => ({\n    onCanPlay: () => setIsBuffering(false),\n    onLoadedMetadata: e => setDuration(e.currentTarget.duration),\n    onPause: () => setIsPlaying(false),\n    onPlay: () => setIsPlaying(true),\n    onPlaying: () => setIsBuffering(false),\n    onProgress: e => setBuffered(e.currentTarget.buffered),\n    onRateChange: e => setPlaybackRate(e.currentTarget.playbackRate),\n    onTimeUpdate: e => setProgress(e.currentTarget.currentTime),\n    onVolumeChange: e => setIsMuted(e.currentTarget.muted),\n    onWaiting: e => setIsBuffering(true)\n  }), []);\n  const evaluateCursorPosition = useCallback(event => {\n    if (mediaRef.current) {\n      const bounds = event.currentTarget.getBoundingClientRect();\n      const cursor = clampNumber(Math.floor(event.clientX - bounds.left), 0, bounds.width);\n      const time = cursor / bounds.width * mediaRef.current.duration;\n      return {\n        cursor,\n        time\n      };\n    }\n    return {\n      cursor: 0,\n      time: 0\n    };\n  }, []);\n  const togglePlayback = useCallback(() => {\n    if (mediaRef.current) {\n      if (mediaRef.current.paused) {\n        if (!$hasInteracted) {\n          setHasInteracted(true);\n        }\n        mediaRef.current.play();\n      } else {\n        mediaRef.current.pause();\n      }\n    }\n  }, [$hasInteracted]);\n  const jumpTo = useCallback(time => {\n    if (mediaRef.current) {\n      const t = clampNumber(time, 0, mediaRef.current.duration);\n      mediaRef.current.currentTime = t;\n      setProgress(t);\n    }\n  }, []);\n  const onSeekClick = useCallback((event, type) => {\n    event.preventDefault();\n    event.stopPropagation();\n    if (mediaRef.current) {\n      const {\n        currentTime\n      } = mediaRef.current;\n      jumpTo(type === 'rewind' ? currentTime - 10 : currentTime + 30);\n    }\n  }, [jumpTo]);\n  const onMuteClick = useCallback(event => {\n    event.preventDefault();\n    event.stopPropagation();\n    if (mediaRef.current) {\n      mediaRef.current.muted = !mediaRef.current.muted;\n    }\n  }, []);\n  const onPlaybackRateClick = useCallback(event => {\n    event.preventDefault();\n    event.stopPropagation();\n    if (mediaRef.current) {\n      mediaRef.current.playbackRate = getNextPlaybackRate(mediaRef.current.playbackRate);\n    }\n  }, []);\n  const onProgressBarClick = useCallback(event => {\n    event.preventDefault();\n    event.stopPropagation();\n    setIsDragging(false);\n  }, []);\n  const onProgressBarMouseDown = useCallback(event => {\n    event.preventDefault();\n    event.stopPropagation();\n    setIsDragging(true);\n    const {\n      time\n    } = evaluateCursorPosition(event);\n    jumpTo(time);\n  }, [evaluateCursorPosition, jumpTo]);\n  const onProgressBarMouseOver = useCallback(() => setIsHovering(true), []);\n  const onWrapClick = useCallback(event => {\n    event.preventDefault();\n    event.stopPropagation();\n    if ($isDragging) {\n      setIsDragging(false);\n    } else {\n      togglePlayback();\n    }\n  }, [$isDragging, togglePlayback]);\n  const onWrapMouseMove = useCallback(event => {\n    if (($isDragging || $isHovering) && mediaRef.current) {\n      event.preventDefault();\n      const {\n        cursor,\n        time\n      } = evaluateCursorPosition(event);\n      setHoveredTime(time);\n      setCursorX(cursor);\n      if ($isDragging) {\n        if (!mediaRef.current.paused) {\n          mediaRef.current.pause();\n          setPausedByDrag(true);\n        }\n        jumpTo(time);\n      }\n    }\n  }, [evaluateCursorPosition, $isDragging, $isHovering, jumpTo]);\n  const onWrapMouseOver = useCallback(event => {\n    if ($isDragging && event.buttons === 0) {\n      setIsDragging(false);\n    }\n  }, [$isDragging]);\n  const onWrapKeyDown = useCallback(event => {\n    if ($isDragging) {\n      return;\n    }\n    const {\n      keyCode\n    } = event;\n    if ([SPACE_KEY, L_ARROW_KEY, R_ARROW_KEY, M_KEY].includes(keyCode) && mediaRef.current) {\n      event.preventDefault();\n      switch (keyCode) {\n        case SPACE_KEY:\n          togglePlayback();\n          break;\n        case L_ARROW_KEY:\n          jumpTo(mediaRef.current.currentTime - 5);\n          break;\n        case R_ARROW_KEY:\n          jumpTo(mediaRef.current.currentTime + 5);\n          break;\n        case M_KEY:\n          mediaRef.current.muted = !mediaRef.current.muted;\n          break;\n      }\n    }\n  }, [$isDragging, jumpTo, togglePlayback]);\n  const outerWrapEvents = useMemo(() => ({\n    onClick: onWrapClick,\n    onKeyDown: onWrapKeyDown,\n    onMouseMove: onWrapMouseMove,\n    onMouseOut: () => setIsHovering(false),\n    onMouseOver: onWrapMouseOver\n  }), [onWrapClick, onWrapKeyDown, onWrapMouseMove, onWrapMouseOver]);\n  const outerWrapTitle = useMemo(() => $hasInteracted ? {\n    title: ''\n  } : {}, [$hasInteracted]);\n  const bufferedMedia = useMemo(() => {\n    if (buffered && buffered.length && mediaRef.current) {\n      return [...Array(buffered.length).keys()].map(index => {\n        return {\n          start: buffered.start(index) / mediaRef.current.duration,\n          end: buffered.end(index) / mediaRef.current.duration\n        };\n      });\n    }\n    return [];\n  }, [buffered]);\n  const currentTime = useMemo(() => formatSeconds(progress || 0), [progress]);\n  const endTime = useMemo(() => formatSeconds(duration || 0), [duration]);\n  const footerControlsProps = useMemo(() => ({\n    $cardSize: size,\n    currentTime,\n    endTime,\n    isMuted,\n    onMuteClick,\n    onPlaybackRateClick,\n    playbackRate\n  }), [currentTime, endTime, isMuted, onMuteClick, onPlaybackRateClick, playbackRate, size]);\n  const progressBarProps = useMemo(() => ({\n    bufferedMedia,\n    cursorX,\n    duration,\n    hoveredTime,\n    $isDragging,\n    $isHovering,\n    onClick: onProgressBarClick,\n    onMouseDown: onProgressBarMouseDown,\n    onMouseOver: onProgressBarMouseOver,\n    progress,\n    showTooltip: $isDragging || $isHovering\n  }), [bufferedMedia, cursorX, duration, hoveredTime, $isDragging, $isHovering, onProgressBarClick, onProgressBarMouseDown, onProgressBarMouseOver, progress]);\n  useEffect(() => {\n    if (!$isDragging && pausedByDrag && mediaRef.current && mediaRef.current.paused) {\n      mediaRef.current.play();\n      setPausedByDrag(false);\n    }\n  }, [pausedByDrag, $isDragging]);\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MediaComponent, _extends({}, mediaProps, mediaEvents, {\n    ref: setRefs,\n    autoPlay: autoPlay,\n    loop: loop,\n    muted: muted\n  })), controls && /*#__PURE__*/React.createElement(OuterWrap, _extends({}, outerWrapTitle, {\n    tabIndex: 0,\n    $hasInteracted: $hasInteracted,\n    $isDragging: $isDragging,\n    $isPlaying: $isPlaying\n  }, outerWrapEvents), /*#__PURE__*/React.createElement(Spinner, {\n    size: size,\n    $isVisible: isBuffering\n  }), !$hasInteracted ? /*#__PURE__*/React.createElement(InnerWrap, null, /*#__PURE__*/React.createElement(PlaybackButton, {\n    $cardSize: size\n  })) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ControlsTop, {\n    $isVisible: !$isDragging\n  }, /*#__PURE__*/React.createElement(InnerWrap, null, isNotSmall && /*#__PURE__*/React.createElement(SeekButton, {\n    className: classNames.rwControl,\n    type: \"rewind\",\n    $cardSize: size,\n    onClick: event => onSeekClick(event, 'rewind')\n  }), /*#__PURE__*/React.createElement(PlaybackButton, {\n    $cardSize: size,\n    $isPlaying: $isPlaying\n  }), isNotSmall && /*#__PURE__*/React.createElement(SeekButton, {\n    className: classNames.ffwControl,\n    type: \"fastforward\",\n    $cardSize: size,\n    onClick: event => onSeekClick(event, 'fastforward')\n  })), isNotSmall && /*#__PURE__*/React.createElement(FooterControls, footerControlsProps)), /*#__PURE__*/React.createElement(ProgressBar, progressBarProps))));\n};\n\nvar _templateObject$1;\nconst VideoDOM = styled('video')(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral([\"\\n  width: 100%;\\n  height: 100%;\\n  object-fit: cover;\\n  position: absolute;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  left: 0;\\n\\n  &::media-controls-start-playback-button {\\n    display: none;\\n    appearance: none;\\n  }\\n\"])));\nconst Video = props => {\n  const {\n    state: {\n      imageUrl,\n      playsInline,\n      videoUrl\n    }\n  } = useContext(GlobalContext);\n  const mediaProps = useMemo(() => {\n    const mediaProps = {\n      className: \"\".concat(classNames.media, \" \").concat(classNames.video),\n      src: videoUrl,\n      playsInline\n    };\n    if (imageUrl) mediaProps.poster = imageProxy(imageUrl);\n    return mediaProps;\n  }, [imageUrl, playsInline, videoUrl]);\n  return /*#__PURE__*/React.createElement(Wrap$1, _extends({\n    className: \"\".concat(classNames.mediaWrapper, \" \").concat(classNames.videoWrapper)\n  }, props), /*#__PURE__*/React.createElement(Controls, {\n    MediaComponent: VideoDOM,\n    mediaProps: mediaProps\n  }));\n};\n\nconst Audio = props => {\n  const {\n    state: {\n      audioUrl\n    }\n  } = useContext(GlobalContext);\n  const mediaProps = useMemo(() => ({\n    className: \"\".concat(classNames.media, \" \").concat(classNames.audio),\n    src: audioUrl\n  }), [audioUrl]);\n  return (\n    /*#__PURE__*/\n    // eslint-disable-next-line\n    React.createElement(ImageComponent, _extends({\n      className: \"\".concat(classNames.mediaWrapper, \" \").concat(classNames.audioWrapper)\n    }, props), /*#__PURE__*/React.createElement(Controls, {\n      MediaComponent: \"audio\",\n      mediaProps: mediaProps\n    }))\n  );\n};\n\nconst isUrl = url => getUrlPath(url) !== null;\nconst MEDIA_COMPONENT = {\n  video: Video,\n  image: ImageComponent,\n  audio: Audio\n};\nconst getMediaType = (isAudio, isVideo) => {\n  if (isAudio) return 'audio';\n  if (isVideo) return 'video';\n  return 'image';\n};\nconst CardMedia = () => {\n  const {\n    state: {\n      imageUrl,\n      isAudio,\n      isVideo\n    }\n  } = useContext(GlobalContext);\n  const [isLoading, setIsLoading] = useState(isUrl(imageUrl));\n  const mediaType = getMediaType(isAudio, isVideo);\n  const MediaComponent = MEDIA_COMPONENT[mediaType];\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MediaComponent, {\n    $isLoading: isLoading\n  }), isLoading && /*#__PURE__*/React.createElement(ImageLoadCatcher, {\n    src: imageUrl,\n    onLoad: () => setIsLoading(false)\n  }));\n};\n\nconst _excluded$1 = [\"href\", \"rel\", \"target\", \"as\"];\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;\nfunction ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nconst HEIGHT = '382px';\nconst contrastStyle = _ref => {\n  let {\n    $backgroundColor,\n    color\n  } = _ref;\n  return css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n  background-color: \", \";\\n  border-color: \", \";\\n  transition-property: filter;\\n  will-change: filter;\\n\\n  &&& {\\n    color: \", \";\\n  }\\n\\n  &:hover {\\n    filter: brightness(90%);\\n  }\\n\"])), $backgroundColor, color, color);\n};\nconst largeStyle = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n  flex-direction: column;\\n  height: \", \";\\n  \", \";\\n\"])), HEIGHT, media.mobile(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n    height: calc(\", \" * 7/9);\\n  \"])), HEIGHT));\nconst hoverStyle = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n  transition-property: background, border-color;\\n  will-change: background, border-color;\\n  &:hover {\\n    background-color: var(--microlink-hover-background-color, #f5f8fa);\\n    border-color: var(--microlink-hover-border-color, #8899a680);\\n  }\\n\"])));\nconst rtlStyle = _ref2 => {\n  let {\n    $cardSize\n  } = _ref2;\n  return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n  flex-direction: \", \";\\n\"])), isLarge($cardSize) ? 'column-reverse' : 'row-reverse');\n};\nconst baseStyle = css(() => \"\\n  max-width: var(--microlink-max-width, 500px);\\n  background-color: var(--microlink-background-color, #fff);\\n  border-width: var(--microlink-border-width, 1px);\\n  border-style: var(--microlink-border-style, solid);\\n  border-color: var(--microlink-border-color, #e1e8ed);\\n  color: var(--microlink-color, #181919);\\n  overflow: hidden;\\n  font-family: \".concat(font.sans, \";\\n  display: flex;\\n  text-decoration: none;\\n  opacity: 1;\\n  position: relative;\\n  transition-duration: \").concat(speed.medium, \";\\n  transition-timing-function: \").concat(animation.medium, \";\\n\\n  &:active,\\n  &:hover {\\n    outline: 0;\\n  }\\n\"));\nconst Element = styled('a')(baseStyle, _ref3 => {\n  let {\n    $isLoading,\n    contrast\n  } = _ref3;\n  return !$isLoading && !contrast && hoverStyle;\n}, _ref4 => {\n  let {\n    $cardSize\n  } = _ref4;\n  return isLarge($cardSize) && largeStyle;\n}, _ref5 => {\n  let {\n    direction\n  } = _ref5;\n  return direction === 'rtl' && rtlStyle;\n}, _ref6 => {\n  let {\n    $backgroundColor,\n    color,\n    contrast\n  } = _ref6;\n  return contrast && color && $backgroundColor && contrastStyle;\n}, _ref7 => {\n  let {\n    $backgroundColor,\n    color,\n    contrast\n  } = _ref7;\n  return contrast && (!color || !$backgroundColor) && hoverStyle;\n});\nconst CardWrap = /*#__PURE__*/forwardRef((_ref8, ref) => {\n  let {\n      href,\n      rel = 'noopener noreferrer',\n      target = '_blank',\n      as = 'a'\n    } = _ref8,\n    restProps = _objectWithoutProperties(_ref8, _excluded$1);\n  const {\n    state: {\n      $backgroundColor,\n      color,\n      title\n    },\n    props: {\n      size: $cardSize\n    }\n  } = useContext(GlobalContext);\n  return /*#__PURE__*/createElement(Element, _objectSpread$1(_objectSpread$1(_objectSpread$1({}, as === 'a' ? {\n    href,\n    rel,\n    target\n  } : undefined), restProps), {}, {\n    $backgroundColor,\n    $cardSize,\n    color,\n    ref,\n    title\n  }));\n});\nCardWrap.displayName = 'CardWrap';\n\n/* global IntersectionObserver */\n\nconst useIntersectionObserver = (enabled, options) => {\n  const [hasIntersected, setHasIntersected] = useState(false);\n  const refCallback = useCallback(node => {\n    if (enabled) {\n      const onIntersect = (_ref, self) => {\n        let [entry] = _ref;\n        if (entry.isIntersecting) {\n          setHasIntersected(true);\n          self.unobserve(entry.target);\n        }\n      };\n      const observer = new IntersectionObserver(onIntersect, options);\n      if (node !== null) {\n        observer.observe(node);\n      }\n    } else {\n      setHasIntersected(true);\n    }\n  }, [enabled, options]);\n  return [hasIntersected, refCallback];\n};\n\nvar _CardEmpty, _CardMedia, _CardContent;\nconst _excluded = [\"className\", \"fetchData\", \"lazy\", \"loading\", \"media\", \"setData\", \"url\", \"apiKey\"],\n  _excluded2 = [\"className\", \"apiKey\", \"autoPlay\", \"controls\", \"direction\", \"lazy\", \"loop\", \"media\", \"fetchData\", \"muted\", \"playsInline\", \"size\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nconst Card = props => {\n  const {\n      className,\n      fetchData,\n      lazy,\n      loading,\n      media: mediaProp,\n      setData,\n      url,\n      apiKey // destructuring to avoid pass it\n    } = props,\n    restProps = _objectWithoutProperties(props, _excluded);\n  const mediaProps = useMemo(() => castArray(mediaProp), [mediaProp]);\n  const {\n    updateState\n  } = useContext(GlobalContext);\n  const [loadingState, setLoading] = useState(true);\n  const [iframeMedia, setIframeMedia] = useState(null);\n  const [isError, setIsError] = useState(false);\n  const isLoadingUndefined = useMemo(() => loading === undefined, [loading]);\n  const [apiUrl, apiUrlProps] = useMemo(() => getApiUrl(_objectSpread(_objectSpread({}, props), {}, {\n    media: mediaProps\n  })), [mediaProps, props]);\n  const isLazyEnabled = useMemo(() => isLazySupported && (lazy === true || isObject(lazy)), [lazy]);\n  const lazyOptions = useMemo(() => isObject(lazy) ? lazy : undefined, [lazy]);\n  const [hasIntersected, cardRef] = useIntersectionObserver(isLazyEnabled, lazyOptions);\n  const canFetchData = useMemo(() => !isLazyEnabled || isLazyEnabled && hasIntersected, [isLazyEnabled, hasIntersected]);\n  const mergeData = useCallback(fetchedData => {\n    const payload = isFunction(setData) ? setData(fetchedData) : _objectSpread(_objectSpread({}, fetchedData), setData);\n    const {\n      title,\n      description,\n      url,\n      video,\n      audio,\n      image,\n      logo,\n      iframe\n    } = payload;\n    const mediaFallback = image || logo || {};\n    let media = mediaFallback;\n    let videoUrl;\n    let audioUrl;\n    let isVideo = false;\n    let isAudio = false;\n    const preferredMedia = getPreferredMedia(payload, mediaProps);\n    switch (preferredMedia) {\n      case 'audio':\n        isAudio = true;\n        audioUrl = getUrlPath(audio);\n        break;\n      case 'video':\n        isVideo = true;\n        videoUrl = getUrlPath(video);\n        break;\n      case 'iframe':\n        setIframeMedia(iframe);\n        break;\n      default:\n        media = someProp(payload, mediaProps) || mediaFallback;\n        break;\n    }\n    const imageUrl = getUrlPath(media);\n    const {\n      color,\n      background_color: $backgroundColor\n    } = media;\n    updateState({\n      url,\n      color,\n      title,\n      description,\n      imageUrl,\n      videoUrl,\n      audioUrl,\n      isVideo,\n      isAudio,\n      $backgroundColor\n    });\n    setLoading(false);\n  }, [updateState, mediaProps, setData]);\n  const toFetchData = useCallback(() => {\n    if (canFetchData) {\n      setLoading(true);\n      const fetch = fetchData ? fetchFromApi(apiUrl, apiUrlProps) : Promise.resolve({});\n      fetch.then(_ref => {\n        let {\n          data\n        } = _ref;\n        return mergeData(data);\n      }).catch(error => {\n        setLoading(false);\n        setIsError(true);\n        console.error(\"\\n\\u250C\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2510\\n\\u2502 Microlink SDK \\u2502\\n\\u2514\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2518\\n\\n\".concat(error.description, \"\\n\\n\").concat(JSON.stringify(error.data), \"\\n\\nid   \").concat(error.headers['x-request-id'], \"\\nuri  \").concat(error.url, \"\\ncode \").concat(error.code, \" (\").concat(error.statusCode, \")\\n\\nmicrolink.io/\").concat(error.code.toLowerCase(), \"\\n\"));\n      });\n    }\n  }, [apiUrlProps, fetchData, apiUrl, mergeData, canFetchData]);\n  useEffect(toFetchData, [url, setData, hasIntersected]);\n  const isLoading = isLoadingUndefined ? loadingState : loading;\n  if (isError) {\n    return /*#__PURE__*/React.createElement(\"a\", _extends({\n      href: url\n    }, restProps), url);\n  }\n  if (iframeMedia) {\n    if (!isSSR) {\n      iframeMedia.scripts.forEach(attrs => {\n        const hasScript = document.querySelector(\"script[src=\\\"\".concat(attrs.src, \"\\\"]\"));\n        if (!hasScript) {\n          const script = document.createElement('script');\n          Object.keys(attrs).forEach(key => script[key] = attrs[key]);\n          document.body.appendChild(script);\n        }\n      });\n    }\n    return /*#__PURE__*/React.createElement(\"div\", _extends({\n      className: classNames.iframe,\n      dangerouslySetInnerHTML: {\n        __html: iframeMedia.html\n      }\n    }, restProps));\n  }\n  return /*#__PURE__*/React.createElement(CardWrap, _extends({\n    className: \"\".concat(classNames.main, \" \").concat(className).trim(),\n    href: url,\n    $isLoading: isLoading,\n    ref: cardRef\n  }, restProps), isLoading ? _CardEmpty || (_CardEmpty = /*#__PURE__*/React.createElement(CardEmptyState, null)) : /*#__PURE__*/React.createElement(React.Fragment, null, _CardMedia || (_CardMedia = /*#__PURE__*/React.createElement(CardMedia, null)), _CardContent || (_CardContent = /*#__PURE__*/React.createElement(CardContent, null))));\n};\nconst Microlink = _ref2 => {\n  let {\n      className = '',\n      apiKey = undefined,\n      autoPlay = true,\n      controls = true,\n      direction = 'ltr',\n      lazy = true,\n      loop = true,\n      media = ['iframe', 'video', 'audio', 'image', 'logo'],\n      fetchData = true,\n      muted = true,\n      playsInline = true,\n      size = 'normal'\n    } = _ref2,\n    props = _objectWithoutProperties(_ref2, _excluded2);\n  return /*#__PURE__*/React.createElement(GlobalState, _extends({\n    className: className,\n    apiKey: apiKey,\n    autoPlay: autoPlay,\n    controls: controls,\n    direction: direction,\n    lazy: lazy,\n    loop: loop,\n    media: media,\n    fetchData: fetchData,\n    muted: muted,\n    playsInline: playsInline,\n    size: size\n  }, props), otherProps => /*#__PURE__*/React.createElement(Card, otherProps));\n};\n\nexport { Microlink as default, getApiUrl, imageProxy };\n","import Microlink from '@microlink/react'\nimport { createRoot } from 'react-dom'\nimport React from 'react'\n\nfunction parseJSON (value) {\n  try {\n    return JSON.parse(value)\n  } catch (err) {\n    return value\n  }\n}\n\nfunction parseObject (obj) {\n  return Object.keys(obj).reduce(function (acc, key) {\n    acc[key] = parseJSON(obj[key])\n    return acc\n  }, {})\n}\n\nfunction toArray (input) {\n  return (\n    typeof input === 'string'\n      ? Array.from(document.querySelectorAll(input))\n      : [].concat(input)\n  ).filter(Boolean)\n}\n\nfunction microlink (selector, opts, rootNode) {\n  return toArray(selector).forEach(function (el) {\n    el.classList.add('microlink_vanilla')\n    createRoot(rootNode || el).render(\n      React.createElement(\n        Microlink,\n        Object.assign(\n          {\n            as: 'div',\n            url: el.getAttribute('href')\n          },\n          opts,\n          parseObject(el.dataset)\n        )\n      )\n    )\n  })\n}\n\nmicrolink.version = '__VERSION__'\n\nexport default microlink\n"],"names":["_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_typeof","o","Symbol","iterator","constructor","toPropertyKey","t","r","e","toPrimitive","TypeError","String","Number","_defineProperty","obj","value","defineProperty","enumerable","configurable","writable","_objectWithoutProperties","excluded","indexOf","objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","_excluded$8","ownKeys$4","keys","filter","getOwnPropertyDescriptor","push","_objectSpread$4","forEach","getOwnPropertyDescriptors","l","_ref","accessibility","debounce","ellipsis","u","is","c","lines","s","text","d","v","a","useRef","f","h","ref","title","g","useMemo","m","useCallback","n","current","innerText","clientHeight","Math","floor","max","trim","useEffect","clearTimeout","setTimeout","window","addEventListener","removeEventListener","createElement","getDefaultExportFromCjs","x","__esModule","_templateObject$i","localhostUrl","isSSR","isFunction","fn","isObject","isNil","getUrlPath","data","url","media","css","isLarge","cardSize","isSmall","imageProxy","test","concat","URLSearchParams","default","af","il","toString","isLazySupported","formatSeconds","secs","secsToNum","parseInt","map","join","clampNumber","num","min","CONTENT_BASE_CLASSNAME","MEDIA_BASE_CLASSNAME","CONTROLS_BASE_CLASSNAME","classNames","main","content","description","mediaWrapper","image","videoWrapper","video","audioWrapper","audio","mediaControls","playbackControl","volumeControl","rwControl","ffwControl","rateControl","progressBar","progressTime","spinner","iframe","_excluded$7","_templateObject$h","_templateObject2$d","ownKeys$3","_objectSpread$3","StyledClamp","styled","children","className","React","_ref2","$useNanoClamp","CardText","_ref3","useNanoClamp","props","textProps","as","speed","short","medium","long","animation","createTransition","properties","suffix","property","transition","_len","Array","_key","_len2","_key2","_len3","_key3","font","_excluded$6","ownKeys$2","_objectSpread$2","initialState","GlobalContext","createContext","GlobalState","autoPlay","controls","loop","mediaRef","muted","playsInline","size","rest","state","setState","useState","updateState","newState","currentState","values","Provider","_templateObject$g","_templateObject2$c","_templateObject3$b","_templateObject4$9","_templateObject5$6","_templateObject6$2","_templateObject7$2","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","REGEX_STRIP_WWW","mobileDescriptionStyle","Content","attrs","$cardSize","Header","Description","Footer","_ref4","Author","PoweredBy","CardContent","useContext","isSmallCard","formattedUrl","href","hostname","URL","replace","getHostname","handleOnClick","preventDefault","open","onClick","_templateObject$f","_templateObject2$b","_templateObject3$a","_templateObject4$8","emptyStatePulse","keyframes","emptyStateImagePulse","emptyStateAnimation","emptyStateImageAnimation","_templateObject$e","_templateObject2$a","_templateObject3$9","ImageLoadCatcher","loadingOverlay","$isLoading","_templateObject$d","_templateObject2$9","_templateObject3$8","_templateObject4$7","_templateObject5$5","mediaSizeStyles","small","normal","large","StyledWrap","Wrap$1","_templateObject$c","ImageWrap","ImageComponent","imageUrl","_templateObject$b","_templateObject2$8","_templateObject3$7","_templateObject4$6","_FooterEmpty","MediaEmpty","HeaderEmpty","DescriptionEmpty","FooterEmpty","CardEmptyState","Fragment","style","marginBottom","_templateObject$a","MediaButton","_path$2","_path2$2","_templateObject$9","_templateObject2$7","_templateObject3$6","_templateObject4$5","_templateObject5$4","_templateObject6$1","_templateObject7$1","VolumeMute","xmlns","viewBox","fill","fillRule","stroke","strokeWidth","transform","VolumeUp","BottomControls","VolumeIcon","VolumeButton","PlaybackRateButton","_ref5","_ref6","_ref7","TimeLabel","_ref8","$right","FooterControls","_ref9","currentTime","endTime","isMuted","onMuteClick","onPlaybackRateClick","playbackRate","VolumeComponent","isLargeCard","_excluded$5","_path$1","_path2$1","_templateObject$8","_templateObject2$6","_templateObject3$5","_templateObject4$4","Pause","Play","iconSizes","PlaybackIcon","PlaybackButtonWrap","PlaybackButton","$isPlaying","PlaybackComponent","_templateObject$7","_templateObject2$5","scrubberSizeScales","Scrubber","$isVisible","$positionX","left","opacity","visibility","scrubberSize","_excluded$4","_templateObject$6","sizeScales$1","TooltipBase","$position","$isDragging","$visible","top","Tooltip","forwardRef","label","displayName","_excluded$3","_templateObject$5","_templateObject2$4","_templateObject3$4","_templateObject4$3","_templateObject5$3","_templateObject6","_templateObject7","heightScales","activeHeightScales","getProgressBarActiveHeight","OuterWrap$1","PADDING","BarsWrap","activeHeight","height","ProgressLine","ProgressMask","$maskScale","ProgressHover","$cursorRatio","$isHovering","$progressPercent","BufferedChunk","start","end","right","ProgressBar","bufferedMedia","cursorX","duration","hoveredTime","onMouseDown","onMouseOver","progress","showTooltip","wrapRef","tooltipRef","getWrapWidth","getBoundingClientRect","width","progressRatio","wrapWidth","startPoint","cursorPosition","toFixed","bufferedMediaChunks","chunk","tooltipLabel","tooltipPositionX","tooltipHalf","mouseEvents","showAccessories","_path","_path2","_templateObject$4","_templateObject2$3","_templateObject3$3","_excluded$2","_excluded2$1","_excluded3","Backward","Forward","SeekIcon","SeekButtonWrap","SeekButton","type","IconComponent","_templateObject$3","_templateObject2$2","_templateObject3$2","_templateObject4$2","_templateObject5$2","_Svg","offsetScales","sizeScales","rotate","dash","Wrap","getSpinnerSize","offset","getSpinnerOffset","Svg","Circle","Spinner","cx","cy","_templateObject$2","_templateObject2$1","_templateObject3$1","_templateObject4$1","_templateObject5$1","SPACE_KEY","L_ARROW_KEY","R_ARROW_KEY","M_KEY","OuterWrap","$hasInteracted","bg","isPaused","InnerWrap","ControlsTop","Controls","MediaComponent","mediaProps","propRef","setDuration","setProgress","buffered","setBuffered","setCursorX","setHoveredTime","setIsPlaying","setIsMuted","isBuffering","setIsBuffering","setIsHovering","setIsDragging","setPlaybackRate","setHasInteracted","pausedByDrag","setPausedByDrag","setRefs","node","isNotSmall","mediaEvents","onCanPlay","onLoadedMetadata","currentTarget","onPause","onPlay","onPlaying","onProgress","onRateChange","onTimeUpdate","onVolumeChange","onWaiting","evaluateCursorPosition","event","bounds","cursor","clientX","time","togglePlayback","paused","play","pause","jumpTo","onSeekClick","stopPropagation","rate","getNextPlaybackRate","onProgressBarClick","onProgressBarMouseDown","onProgressBarMouseOver","onWrapClick","onWrapMouseMove","onWrapMouseOver","buttons","onWrapKeyDown","keyCode","includes","outerWrapEvents","onKeyDown","onMouseMove","onMouseOut","outerWrapTitle","index","footerControlsProps","progressBarProps","tabIndex","_templateObject$1","VideoDOM","MEDIA_COMPONENT","videoUrl","src","poster","audioUrl","CardMedia","isAudio","isVideo","isLoading","setIsLoading","mediaType","getMediaType","onLoad","_excluded$1","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","ownKeys$1","_objectSpread$1","contrastStyle","$backgroundColor","color","largeStyle","hoverStyle","rtlStyle","baseStyle","Element","contrast","direction","CardWrap","rel","restProps","undefined","_CardEmpty","_CardMedia","_CardContent","_excluded","_excluded2","ownKeys","_objectSpread","Card","fetchData","lazy","loading","mediaProp","setData","apiKey","loadingState","setLoading","iframeMedia","setIframeMedia","isError","setIsError","isLoadingUndefined","apiUrl","apiUrlProps","endpoint","force","headers","prerender","proxy","ttl","getApiUrl$1","palette","screenshot","getApiUrl","isLazyEnabled","lazyOptions","hasIntersected","cardRef","enabled","options","setHasIntersected","observer","IntersectionObserver","self","entry","isIntersecting","unobserve","observe","useIntersectionObserver","canFetchData","mergeData","fetchedData","payload","logo","mediaFallback","preferredMedia","prefer","getPreferredMedia","find","prop","someProp","background_color","toFetchData","fetchFromApi","Promise","resolve","then","catch","error","console","JSON","stringify","code","statusCode","toLowerCase","scripts","document","querySelector","script","body","appendChild","dangerouslySetInnerHTML","__html","html","Microlink","otherProps","parseObject","reduce","acc","parse","err","parseJSON","microlink","selector","opts","rootNode","input","from","querySelectorAll","Boolean","el","classList","add","createRoot","render","getAttribute","dataset","version"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]}