{"version":3,"file":"Video.CRCE_Z09.mjs","names":["useState","useRef","Player","useReducer","useState","useSyncExternalStore","useRef","useCallback","useState","useMemo"],"sources":["https:/ga.jspm.io/npm:@vimeo/player@2.16.4/dist/player.es.js","https:/framerusercontent.com/modules/0sWquksFr1YDkaIgrl9Z/VgWe6mCMJOseqaLiMnaC/Vimeo.js","https:/framerusercontent.com/modules/NEd4VmDdsxM3StIUbddO/9rhBPUZttCbLCWqJEL42/YouTube.js","https:/framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/Z4QJ2YpzpVnWRfR6Ccgg/Video.js"],"sourcesContent":["function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;\"value\"in r&&(r.writable=true);Object.defineProperty(e,r.key,r)}}function _createClass(e,t,n){t&&_defineProperties(e.prototype,t);n&&_defineProperties(e,n);return e}\n/**\n * Check to see this is a node environment.\n * @type {Boolean}\n */var e=\"undefined\"!==typeof global&&\"[object global]\"==={}.toString.call(global);\n/**\n * Get the name of the method for a given getter or setter.\n *\n * @param {string} prop The name of the property.\n * @param {string} type Either “get” or “set”.\n * @return {string}\n */function getMethodName(e,t){return 0===e.indexOf(t.toLowerCase())?e:\"\".concat(t.toLowerCase()).concat(e.substr(0,1).toUpperCase()).concat(e.substr(1))}\n/**\n * Check to see if the object is a DOM Element.\n *\n * @param {*} element The object to check.\n * @return {boolean}\n */function isDomElement(e){return Boolean(e&&1===e.nodeType&&\"nodeName\"in e&&e.ownerDocument&&e.ownerDocument.defaultView)}\n/**\n * Check to see whether the value is a number.\n *\n * @see http://dl.dropboxusercontent.com/u/35146/js/tests/isNumber.html\n * @param {*} value The value to check.\n * @param {boolean} integer Check if the value is an integer.\n * @return {boolean}\n */function isInteger(e){return!isNaN(parseFloat(e))&&isFinite(e)&&Math.floor(e)==e}\n/**\n * Check to see if the URL is a Vimeo url.\n *\n * @param {string} url The url string.\n * @return {boolean}\n */function isVimeoUrl(e){return/^(https?:)?\\/\\/((player|www)\\.)?vimeo\\.com(?=$|\\/)/.test(e)}\n/**\n * Get the Vimeo URL from an element.\n * The element must have either a data-vimeo-id or data-vimeo-url attribute.\n *\n * @param {object} oEmbedParameters The oEmbed parameters.\n * @return {string}\n */function getVimeoUrl(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t=e.id;var n=e.url;var r=t||n;if(!r)throw new Error(\"An id or url must be passed, either in an options object or as a data-vimeo-id or data-vimeo-url attribute.\");if(isInteger(r))return\"https://vimeo.com/\".concat(r);if(isVimeoUrl(r))return r.replace(\"http:\",\"https:\");if(t)throw new TypeError(\"“\".concat(t,\"” is not a valid video id.\"));throw new TypeError(\"“\".concat(r,\"” is not a vimeo.com url.\"))}var t=\"undefined\"!==typeof Array.prototype.indexOf;var n=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.postMessage;if(!e&&(!t||!n))throw new Error(\"Sorry, the Vimeo Player API is not available in this browser.\");var r=\"undefined\"!==typeof globalThis?globalThis:\"undefined\"!==typeof window?window:\"undefined\"!==typeof global?global:\"undefined\"!==typeof self?self:{};function createCommonjsModule(e,t){return t={exports:{}},e(t,t.exports),t.exports\n/*!\n * weakmap-polyfill v2.0.1 - ECMAScript6 WeakMap polyfill\n * https://github.com/polygonplanet/weakmap-polyfill\n * Copyright (c) 2015-2020 Polygon Planet <polygon.planet.aqua@gmail.com>\n * @license MIT\n */}(function(e){if(!e.WeakMap){var t=Object.prototype.hasOwnProperty;var defineProperty=function(e,t,n){Object.defineProperty?Object.defineProperty(e,t,{configurable:true,writable:true,value:n}):e[t]=n};e.WeakMap=function(){function WeakMap(){if(void 0===this)throw new TypeError(\"Constructor WeakMap requires 'new'\");defineProperty(this,\"_id\",genId(\"_WeakMap\"));if(arguments.length>0)throw new TypeError(\"WeakMap iterable is not supported\")}defineProperty(WeakMap.prototype,\"delete\",(function(e){checkInstance(this,\"delete\");if(!isObject(e))return false;var t=e[this._id];if(t&&t[0]===e){delete e[this._id];return true}return false}));defineProperty(WeakMap.prototype,\"get\",(function(e){checkInstance(this,\"get\");if(isObject(e)){var t=e[this._id];return t&&t[0]===e?t[1]:void 0}}));defineProperty(WeakMap.prototype,\"has\",(function(e){checkInstance(this,\"has\");if(!isObject(e))return false;var t=e[this._id];return!(!t||t[0]!==e)}));defineProperty(WeakMap.prototype,\"set\",(function(e,t){checkInstance(this,\"set\");if(!isObject(e))throw new TypeError(\"Invalid value used as weak map key\");var n=e[this._id];if(n&&n[0]===e){n[1]=t;return this}defineProperty(e,this._id,[e,t]);return this}));function checkInstance(e,n){if(!isObject(e)||!t.call(e,\"_id\"))throw new TypeError(n+\" method called on incompatible receiver \"+typeof e)}function genId(e){return e+\"_\"+rand()+\".\"+rand()}function rand(){return Math.random().toString().substring(2)}defineProperty(WeakMap,\"_polyfill\",true);return WeakMap}()}function isObject(e){return Object(e)===e}})(\"undefined\"!==typeof self?self:\"undefined\"!==typeof window?window:(\"undefined\"!==typeof r,r));var o=createCommonjsModule((function(e){(function UMD(t,n,r){n[t]=n[t]||r();e.exports&&(e.exports=n[t])})(\"Promise\",(\"undefined\"!=typeof r,r),(function DEF(){var e,t,n,r=Object.prototype.toString,o=\"undefined\"!=typeof setImmediate?function timer(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},\"x\",{});e=function builtInProp(e,t,n,r){return Object.defineProperty(e,t,{value:n,writable:true,configurable:false!==r})}}catch(t){e=function builtInProp(e,t,n){e[t]=n;return e}}n=function Queue(){var e,n,r;function Item(e,t){this.fn=e;this.self=t;this.next=void 0}return{add:function add(t,o){r=new Item(t,o);n?n.next=r:e=r;n=r;r=void 0},drain:function drain(){var r=e;e=n=t=void 0;while(r){r.fn.call(r.self);r=r.next}}}}();function schedule(e,r){n.add(e,r);t||(t=o(n.drain))}function isThenable(e){var t,n=typeof e;null==e||\"object\"!=n&&\"function\"!=n||(t=e.then);return\"function\"==typeof t&&t}function notify(){for(var e=0;e<this.chain.length;e++)notifyIsolated(this,1===this.state?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function notifyIsolated(e,t,n){var r,o;try{if(false===t)n.reject(e.msg);else{r=true===t?e.msg:t.call(void 0,e.msg);r===n.promise?n.reject(TypeError(\"Promise-chain cycle\")):(o=isThenable(r))?o.call(r,n.resolve,n.reject):n.resolve(r)}}catch(e){n.reject(e)}}function resolve(e){var t,n=this;if(!n.triggered){n.triggered=true;n.def&&(n=n.def);try{if(t=isThenable(e))schedule((function(){var r=new MakeDefWrapper(n);try{t.call(e,(function $resolve$(){resolve.apply(r,arguments)}),(function $reject$(){reject.apply(r,arguments)}))}catch(e){reject.call(r,e)}}));else{n.msg=e;n.state=1;n.chain.length>0&&schedule(notify,n)}}catch(e){reject.call(new MakeDefWrapper(n),e)}}}function reject(e){var t=this;if(!t.triggered){t.triggered=true;t.def&&(t=t.def);t.msg=e;t.state=2;t.chain.length>0&&schedule(notify,t)}}function iteratePromises(e,t,n,r){for(var o=0;o<t.length;o++)(function IIFE(o){e.resolve(t[o]).then((function $resolver$(e){n(o,e)}),r)})(o)}function MakeDefWrapper(e){this.def=e;this.triggered=false}function MakeDef(e){this.promise=e;this.state=0;this.triggered=false;this.chain=[];this.msg=void 0}function Promise(e){if(\"function\"!=typeof e)throw TypeError(\"Not a function\");if(0!==this.__NPO__)throw TypeError(\"Not a promise\");this.__NPO__=1;var t=new MakeDef(this);this.then=function then(e,n){var r={success:\"function\"!=typeof e||e,failure:\"function\"==typeof n&&n};r.promise=new this.constructor((function extractChain(e,t){if(\"function\"!=typeof e||\"function\"!=typeof t)throw TypeError(\"Not a function\");r.resolve=e;r.reject=t}));t.chain.push(r);0!==t.state&&schedule(notify,t);return r.promise};this.catch=function $catch$(e){return this.then(void 0,e)};try{e.call(void 0,(function publicResolve(e){resolve.call(t,e)}),(function publicReject(e){reject.call(t,e)}))}catch(e){reject.call(t,e)}}var i=e({},\"constructor\",Promise,false);Promise.prototype=i;e(i,\"__NPO__\",0,false);e(Promise,\"resolve\",(function Promise$resolve(e){var t=this;return e&&\"object\"==typeof e&&1===e.__NPO__?e:new t((function executor(t,n){if(\"function\"!=typeof t||\"function\"!=typeof n)throw TypeError(\"Not a function\");t(e)}))}));e(Promise,\"reject\",(function Promise$reject(e){return new this((function executor(t,n){if(\"function\"!=typeof t||\"function\"!=typeof n)throw TypeError(\"Not a function\");n(e)}))}));e(Promise,\"all\",(function Promise$all(e){var t=this;return\"[object Array]\"!=r.call(e)?t.reject(TypeError(\"Not an array\")):0===e.length?t.resolve([]):new t((function executor(n,r){if(\"function\"!=typeof n||\"function\"!=typeof r)throw TypeError(\"Not a function\");var o=e.length,i=Array(o),a=0;iteratePromises(t,e,(function resolver(e,t){i[e]=t;++a===o&&n(i)}),r)}))}));e(Promise,\"race\",(function Promise$race(e){var t=this;return\"[object Array]\"!=r.call(e)?t.reject(TypeError(\"Not an array\")):new t((function executor(n,r){if(\"function\"!=typeof n||\"function\"!=typeof r)throw TypeError(\"Not a function\");iteratePromises(t,e,(function resolver(e,t){n(t)}),r)}))}));return Promise}))}));var i=new WeakMap;\n/**\n * Store a callback for a method or event for a player.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name.\n * @param {(function(this:Player, *): void|{resolve: function, reject: function})} callback\n *        The callback to call or an object with resolve and reject functions for a promise.\n * @return {void}\n */function storeCallback(e,t,n){var r=i.get(e.element)||{};t in r||(r[t]=[]);r[t].push(n);i.set(e.element,r)}\n/**\n * Get the callbacks for a player and event or method.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name\n * @return {function[]}\n */function getCallbacks(e,t){var n=i.get(e.element)||{};return n[t]||[]}\n/**\n * Remove a stored callback for a method or event for a player.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name\n * @param {function} [callback] The specific callback to remove.\n * @return {boolean} Was this the last callback?\n */function removeCallback(e,t,n){var r=i.get(e.element)||{};if(!r[t])return true;if(!n){r[t]=[];i.set(e.element,r);return true}var o=r[t].indexOf(n);-1!==o&&r[t].splice(o,1);i.set(e.element,r);return r[t]&&0===r[t].length}\n/**\n * Return the first stored callback for a player and event or method.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name.\n * @return {function} The callback, or false if there were none\n */function shiftCallbacks(e,t){var n=getCallbacks(e,t);if(n.length<1)return false;var r=n.shift();removeCallback(e,t,r);return r}\n/**\n * Move callbacks associated with an element to another element.\n *\n * @param {HTMLElement} oldElement The old element.\n * @param {HTMLElement} newElement The new element.\n * @return {void}\n */function swapCallbacks(e,t){var n=i.get(e);i.set(t,n);i.delete(e)}var a=[\"autopause\",\"autoplay\",\"background\",\"byline\",\"color\",\"controls\",\"dnt\",\"height\",\"id\",\"interactive_params\",\"keyboard\",\"loop\",\"maxheight\",\"maxwidth\",\"muted\",\"playsinline\",\"portrait\",\"responsive\",\"speed\",\"texttrack\",\"title\",\"transparent\",\"url\",\"width\"];\n/**\n * Get the 'data-vimeo'-prefixed attributes from an element as an object.\n *\n * @param {HTMLElement} element The element.\n * @param {Object} [defaults={}] The default values to use.\n * @return {Object<string, string>}\n */function getOEmbedParameters(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return a.reduce((function(t,n){var r=e.getAttribute(\"data-vimeo-\".concat(n));(r||\"\"===r)&&(t[n]=\"\"===r?1:r);return t}),t)}\n/**\n * Create an embed from oEmbed data inside an element.\n *\n * @param {object} data The oEmbed data.\n * @param {HTMLElement} element The element to put the iframe in.\n * @return {HTMLIFrameElement} The iframe embed.\n */function createEmbed(e,t){var n=e.html;if(!t)throw new TypeError(\"An element must be provided\");if(null!==t.getAttribute(\"data-vimeo-initialized\"))return t.querySelector(\"iframe\");var r=document.createElement(\"div\");r.innerHTML=n;t.appendChild(r.firstChild);t.setAttribute(\"data-vimeo-initialized\",\"true\");return t.querySelector(\"iframe\")}\n/**\n * Make an oEmbed call for the specified URL.\n *\n * @param {string} videoUrl The vimeo.com url for the video.\n * @param {Object} [params] Parameters to pass to oEmbed.\n * @param {HTMLElement} element The element.\n * @return {Promise}\n */function getOEmbedData(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var n=arguments.length>2?arguments[2]:void 0;return new Promise((function(r,o){if(!isVimeoUrl(e))throw new TypeError(\"“\".concat(e,\"” is not a vimeo.com url.\"));var i=\"https://vimeo.com/api/oembed.json?url=\".concat(encodeURIComponent(e));for(var a in t)t.hasOwnProperty(a)&&(i+=\"&\".concat(a,\"=\").concat(encodeURIComponent(t[a])));var u=\"XDomainRequest\"in window?new XDomainRequest:new XMLHttpRequest;u.open(\"GET\",i,true);u.onload=function(){if(404!==u.status)if(403!==u.status)try{var t=JSON.parse(u.responseText);if(403===t.domain_status_code){createEmbed(t,n);o(new Error(\"“\".concat(e,\"” is not embeddable.\")));return}r(t)}catch(e){o(e)}else o(new Error(\"“\".concat(e,\"” is not embeddable.\")));else o(new Error(\"“\".concat(e,\"” was not found.\")))};u.onerror=function(){var e=u.status?\" (\".concat(u.status,\")\"):\"\";o(new Error(\"There was an error fetching the embed code from Vimeo\".concat(e,\".\")))};u.send()}))}\n/**\n * Initialize all embeds within a specific element\n *\n * @param {HTMLElement} [parent=document] The parent element.\n * @return {void}\n */function initializeEmbeds(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;var t=[].slice.call(e.querySelectorAll(\"[data-vimeo-id], [data-vimeo-url]\"));var n=function handleError(e){\"console\"in window&&console.error&&console.error(\"There was an error creating an embed: \".concat(e))};t.forEach((function(e){try{if(null!==e.getAttribute(\"data-vimeo-defer\"))return;var t=getOEmbedParameters(e);var r=getVimeoUrl(t);getOEmbedData(r,t,e).then((function(t){return createEmbed(t,e)})).catch(n)}catch(e){n(e)}}))}\n/**\n * Resize embeds when messaged by the player.\n *\n * @param {HTMLElement} [parent=document] The parent element.\n * @return {void}\n */function resizeEmbeds(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;if(!window.VimeoPlayerResizeEmbeds_){window.VimeoPlayerResizeEmbeds_=true;var t=function onMessage(t){if(isVimeoUrl(t.origin)&&t.data&&\"spacechange\"===t.data.event){var n=e.querySelectorAll(\"iframe\");for(var r=0;r<n.length;r++)if(n[r].contentWindow===t.source){var o=n[r].parentElement;o.style.paddingBottom=\"\".concat(t.data.data[0].bottom,\"px\");break}}};window.addEventListener(\"message\",t)}}\n/**\n * Parse a message received from postMessage.\n *\n * @param {*} data The data received from postMessage.\n * @return {object}\n */function parseMessageData(e){if(\"string\"===typeof e)try{e=JSON.parse(e)}catch(e){console.warn(e);return{}}return e}\n/**\n * Post a message to the specified target.\n *\n * @param {Player} player The player object to use.\n * @param {string} method The API method to call.\n * @param {object} params The parameters to send to the player.\n * @return {void}\n */function postMessage(e,t,n){if(e.element.contentWindow&&e.element.contentWindow.postMessage){var r={method:t};void 0!==n&&(r.value=n);var o=parseFloat(navigator.userAgent.toLowerCase().replace(/^.*msie (\\d+).*$/,\"$1\"));o>=8&&o<10&&(r=JSON.stringify(r));e.element.contentWindow.postMessage(r,e.origin)}}\n/**\n * Parse the data received from a message event.\n *\n * @param {Player} player The player that received the message.\n * @param {(Object|string)} data The message data. Strings will be parsed into JSON.\n * @return {void}\n */function processData(e,t){t=parseMessageData(t);var n=[];var r;if(t.event){if(\"error\"===t.event){var o=getCallbacks(e,t.data.method);o.forEach((function(n){var r=new Error(t.data.message);r.name=t.data.name;n.reject(r);removeCallback(e,t.data.method,n)}))}n=getCallbacks(e,\"event:\".concat(t.event));r=t.data}else if(t.method){var i=shiftCallbacks(e,t.method);if(i){n.push(i);r=t.value}}n.forEach((function(t){try{if(\"function\"===typeof t){t.call(e,r);return}t.resolve(r)}catch(e){}}))}function initializeScreenfull(){var e=function(){var e;var t=[[\"requestFullscreen\",\"exitFullscreen\",\"fullscreenElement\",\"fullscreenEnabled\",\"fullscreenchange\",\"fullscreenerror\"],[\"webkitRequestFullscreen\",\"webkitExitFullscreen\",\"webkitFullscreenElement\",\"webkitFullscreenEnabled\",\"webkitfullscreenchange\",\"webkitfullscreenerror\"],[\"webkitRequestFullScreen\",\"webkitCancelFullScreen\",\"webkitCurrentFullScreenElement\",\"webkitCancelFullScreen\",\"webkitfullscreenchange\",\"webkitfullscreenerror\"],[\"mozRequestFullScreen\",\"mozCancelFullScreen\",\"mozFullScreenElement\",\"mozFullScreenEnabled\",\"mozfullscreenchange\",\"mozfullscreenerror\"],[\"msRequestFullscreen\",\"msExitFullscreen\",\"msFullscreenElement\",\"msFullscreenEnabled\",\"MSFullscreenChange\",\"MSFullscreenError\"]];var n=0;var r=t.length;var o={};for(;n<r;n++){e=t[n];if(e&&e[1]in document){for(n=0;n<e.length;n++)o[t[0][n]]=e[n];return o}}return false}();var t={fullscreenchange:e.fullscreenchange,fullscreenerror:e.fullscreenerror};var n={request:function request(t){return new Promise((function(r,o){var i=function onFullScreenEntered(){n.off(\"fullscreenchange\",onFullScreenEntered);r()};n.on(\"fullscreenchange\",i);t=t||document.documentElement;var a=t[e.requestFullscreen]();a instanceof Promise&&a.then(i).catch(o)}))},exit:function exit(){return new Promise((function(t,r){if(n.isFullscreen){var o=function onFullScreenExit(){n.off(\"fullscreenchange\",onFullScreenExit);t()};n.on(\"fullscreenchange\",o);var i=document[e.exitFullscreen]();i instanceof Promise&&i.then(o).catch(r)}else t()}))},on:function on(e,n){var r=t[e];r&&document.addEventListener(r,n)},off:function off(e,n){var r=t[e];r&&document.removeEventListener(r,n)}};Object.defineProperties(n,{isFullscreen:{get:function get(){return Boolean(document[e.fullscreenElement])}},element:{enumerable:true,get:function get(){return document[e.fullscreenElement]}},isEnabled:{enumerable:true,get:function get(){return Boolean(document[e.fullscreenEnabled])}}});return n}var u=new WeakMap;var l=new WeakMap;var s={};var c=function(){\n/**\n   * Create a Player.\n   *\n   * @param {(HTMLIFrameElement|HTMLElement|string|jQuery)} element A reference to the Vimeo\n   *        player iframe, and id, or a jQuery object.\n   * @param {object} [options] oEmbed parameters to use when creating an embed in the element.\n   * @return {Player}\n   */\nfunction Player(e){var t=this;var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};_classCallCheck(this,Player);if(window.jQuery&&e instanceof jQuery){e.length>1&&window.console&&console.warn&&console.warn(\"A jQuery object with multiple elements was passed, using the first element.\");e=e[0]}\"undefined\"!==typeof document&&\"string\"===typeof e&&(e=document.getElementById(e));if(!isDomElement(e))throw new TypeError(\"You must pass either a valid element or a valid id.\");if(\"IFRAME\"!==e.nodeName){var r=e.querySelector(\"iframe\");r&&(e=r)}if(\"IFRAME\"===e.nodeName&&!isVimeoUrl(e.getAttribute(\"src\")||\"\"))throw new Error(\"The player element passed isn’t a Vimeo embed.\");if(u.has(e))return u.get(e);this._window=e.ownerDocument.defaultView;this.element=e;this.origin=\"*\";var i=new o((function(r,o){t._onMessage=function(e){if(isVimeoUrl(e.origin)&&t.element.contentWindow===e.source){\"*\"===t.origin&&(t.origin=e.origin);var n=parseMessageData(e.data);var i=n&&\"error\"===n.event;var a=i&&n.data&&\"ready\"===n.data.method;if(a){var u=new Error(n.data.message);u.name=n.data.name;o(u)}else{var l=n&&\"ready\"===n.event;var s=n&&\"ping\"===n.method;if(l||s){t.element.setAttribute(\"data-ready\",\"true\");r()}else processData(t,n)}}};t._window.addEventListener(\"message\",t._onMessage);if(\"IFRAME\"!==t.element.nodeName){var i=getOEmbedParameters(e,n);var a=getVimeoUrl(i);getOEmbedData(a,i,e).then((function(n){var r=createEmbed(n,e);t.element=r;t._originalElement=e;swapCallbacks(e,r);u.set(t.element,t);return n})).catch(o)}}));l.set(this,i);u.set(this.element,this);\"IFRAME\"===this.element.nodeName&&postMessage(this,\"ping\");if(s.isEnabled){var a=function exitFullscreen(){return s.exit()};this.fullscreenchangeHandler=function(){s.isFullscreen?storeCallback(t,\"event:exitFullscreen\",a):removeCallback(t,\"event:exitFullscreen\",a);t.ready().then((function(){postMessage(t,\"fullscreenchange\",s.isFullscreen)}))};s.on(\"fullscreenchange\",this.fullscreenchangeHandler)}return this}\n/**\n   * Get a promise for a method.\n   *\n   * @param {string} name The API method to call.\n   * @param {Object} [args={}] Arguments to send via postMessage.\n   * @return {Promise}\n   */_createClass(Player,[{key:\"callMethod\",value:function callMethod(e){var t=this;var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new o((function(r,o){return t.ready().then((function(){storeCallback(t,e,{resolve:r,reject:o});postMessage(t,e,n)})).catch(o)}))}\n/**\n     * Get a promise for the value of a player property.\n     *\n     * @param {string} name The property name\n     * @return {Promise}\n     */},{key:\"get\",value:function get(e){var t=this;return new o((function(n,r){e=getMethodName(e,\"get\");return t.ready().then((function(){storeCallback(t,e,{resolve:n,reject:r});postMessage(t,e)})).catch(r)}))}\n/**\n     * Get a promise for setting the value of a player property.\n     *\n     * @param {string} name The API method to call.\n     * @param {mixed} value The value to set.\n     * @return {Promise}\n     */},{key:\"set\",value:function set(e,t){var n=this;return new o((function(r,o){e=getMethodName(e,\"set\");if(void 0===t||null===t)throw new TypeError(\"There must be a value to set.\");return n.ready().then((function(){storeCallback(n,e,{resolve:r,reject:o});postMessage(n,e,t)})).catch(o)}))}\n/**\n     * Add an event listener for the specified event. Will call the\n     * callback with a single parameter, `data`, that contains the data for\n     * that event.\n     *\n     * @param {string} eventName The name of the event.\n     * @param {function(*)} callback The function to call when the event fires.\n     * @return {void}\n     */},{key:\"on\",value:function on(e,t){if(!e)throw new TypeError(\"You must pass an event name.\");if(!t)throw new TypeError(\"You must pass a callback function.\");if(\"function\"!==typeof t)throw new TypeError(\"The callback must be a function.\");var n=getCallbacks(this,\"event:\".concat(e));0===n.length&&this.callMethod(\"addEventListener\",e).catch((function(){}));storeCallback(this,\"event:\".concat(e),t)}\n/**\n     * Remove an event listener for the specified event. Will remove all\n     * listeners for that event if a `callback` isn’t passed, or only that\n     * specific callback if it is passed.\n     *\n     * @param {string} eventName The name of the event.\n     * @param {function} [callback] The specific callback to remove.\n     * @return {void}\n     */},{key:\"off\",value:function off(e,t){if(!e)throw new TypeError(\"You must pass an event name.\");if(t&&\"function\"!==typeof t)throw new TypeError(\"The callback must be a function.\");var n=removeCallback(this,\"event:\".concat(e),t);n&&this.callMethod(\"removeEventListener\",e).catch((function(e){}))}\n/**\n     * Load a new video into this embed. The promise will be resolved if\n     * the video is successfully loaded, or it will be rejected if it could\n     * not be loaded.\n     *\n     * @param {number|string|object} options The id of the video, the url of the video, or an object with embed options.\n     * @return {LoadVideoPromise}\n     */},{key:\"loadVideo\",value:function loadVideo(e){return this.callMethod(\"loadVideo\",e)}},{key:\"ready\",value:function ready(){var e=l.get(this)||new o((function(e,t){t(new Error(\"Unknown player. Probably unloaded.\"))}));return o.resolve(e)}\n/**\n     * Add a cue point to the player.\n     *\n     * @param {number} time The time for the cue point.\n     * @param {object} [data] Arbitrary data to be returned with the cue point.\n     * @return {AddCuePointPromise}\n     */},{key:\"addCuePoint\",value:function addCuePoint(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.callMethod(\"addCuePoint\",{time:e,data:t})}\n/**\n     * Remove a cue point from the video.\n     *\n     * @param {string} id The id of the cue point to remove.\n     * @return {RemoveCuePointPromise}\n     */},{key:\"removeCuePoint\",value:function removeCuePoint(e){return this.callMethod(\"removeCuePoint\",e)}\n/**\n     * A representation of a text track on a video.\n     *\n     * @typedef {Object} VimeoTextTrack\n     * @property {string} language The ISO language code.\n     * @property {string} kind The kind of track it is (captions or subtitles).\n     * @property {string} label The human‐readable label for the track.\n     */\n/**\n     * Enable the text track with the specified language, and optionally the\n     * specified kind (captions or subtitles).\n     *\n     * When set via the API, the track language will not change the viewer’s\n     * stored preference.\n     *\n     * @param {string} language The two‐letter language code.\n     * @param {string} [kind] The kind of track to enable (captions or subtitles).\n     * @return {EnableTextTrackPromise}\n     */},{key:\"enableTextTrack\",value:function enableTextTrack(e,t){if(!e)throw new TypeError(\"You must pass a language.\");return this.callMethod(\"enableTextTrack\",{language:e,kind:t})}},{key:\"disableTextTrack\",value:function disableTextTrack(){return this.callMethod(\"disableTextTrack\")}},{key:\"pause\",value:function pause(){return this.callMethod(\"pause\")}},{key:\"play\",value:function play(){return this.callMethod(\"play\")}},{key:\"requestFullscreen\",value:function requestFullscreen(){return s.isEnabled?s.request(this.element):this.callMethod(\"requestFullscreen\")}},{key:\"exitFullscreen\",value:function exitFullscreen(){return s.isEnabled?s.exit():this.callMethod(\"exitFullscreen\")}},{key:\"getFullscreen\",value:function getFullscreen(){return s.isEnabled?o.resolve(s.isFullscreen):this.get(\"fullscreen\")}},{key:\"requestPictureInPicture\",value:function requestPictureInPicture(){return this.callMethod(\"requestPictureInPicture\")}},{key:\"exitPictureInPicture\",value:function exitPictureInPicture(){return this.callMethod(\"exitPictureInPicture\")}},{key:\"getPictureInPicture\",value:function getPictureInPicture(){return this.get(\"pictureInPicture\")}},{key:\"unload\",value:function unload(){return this.callMethod(\"unload\")}},{key:\"destroy\",value:function destroy(){var e=this;return new o((function(t){l.delete(e);u.delete(e.element);if(e._originalElement){u.delete(e._originalElement);e._originalElement.removeAttribute(\"data-vimeo-initialized\")}e.element&&\"IFRAME\"===e.element.nodeName&&e.element.parentNode&&(e.element.parentNode.parentNode&&e._originalElement&&e._originalElement!==e.element.parentNode?e.element.parentNode.parentNode.removeChild(e.element.parentNode):e.element.parentNode.removeChild(e.element));if(e.element&&\"DIV\"===e.element.nodeName&&e.element.parentNode){e.element.removeAttribute(\"data-vimeo-initialized\");var n=e.element.querySelector(\"iframe\");n&&n.parentNode&&(n.parentNode.parentNode&&e._originalElement&&e._originalElement!==n.parentNode?n.parentNode.parentNode.removeChild(n.parentNode):n.parentNode.removeChild(n))}e._window.removeEventListener(\"message\",e._onMessage);s.isEnabled&&s.off(\"fullscreenchange\",e.fullscreenchangeHandler);t()}))}},{key:\"getAutopause\",value:function getAutopause(){return this.get(\"autopause\")}\n/**\n     * Enable or disable the autopause behavior of this player.\n     *\n     * By default, when another video is played in the same browser, this\n     * player will automatically pause. Unless you have a specific reason\n     * for doing so, we recommend that you leave autopause set to the\n     * default (`true`).\n     *\n     * @param {boolean} autopause\n     * @return {SetAutopausePromise}\n     */},{key:\"setAutopause\",value:function setAutopause(e){return this.set(\"autopause\",e)}},{key:\"getBuffered\",value:function getBuffered(){return this.get(\"buffered\")}\n/**\n     * @typedef {Object} CameraProperties\n     * @prop {number} props.yaw - Number between 0 and 360.\n     * @prop {number} props.pitch - Number between -90 and 90.\n     * @prop {number} props.roll - Number between -180 and 180.\n     * @prop {number} props.fov - The field of view in degrees.\n     */},{key:\"getCameraProps\",value:function getCameraProps(){return this.get(\"cameraProps\")}\n/**\n     * For 360° videos set the camera properties for this player.\n     *\n     * @param {CameraProperties} camera The camera properties\n     * @return {SetCameraPromise}\n     */},{key:\"setCameraProps\",value:function setCameraProps(e){return this.set(\"cameraProps\",e)}\n/**\n     * A representation of a chapter.\n     *\n     * @typedef {Object} VimeoChapter\n     * @property {number} startTime The start time of the chapter.\n     * @property {object} title The title of the chapter.\n     * @property {number} index The place in the order of Chapters. Starts at 1.\n     */},{key:\"getChapters\",value:function getChapters(){return this.get(\"chapters\")}},{key:\"getCurrentChapter\",value:function getCurrentChapter(){return this.get(\"currentChapter\")}},{key:\"getColor\",value:function getColor(){return this.get(\"color\")}\n/**\n     * Set the color of this player to a hex or rgb string. Setting the\n     * color may fail if the owner of the video has set their embed\n     * preferences to force a specific color.\n     *\n     * @param {string} color The hex or rgb color string to set.\n     * @return {SetColorPromise}\n     */},{key:\"setColor\",value:function setColor(e){return this.set(\"color\",e)}\n/**\n     * A representation of a cue point.\n     *\n     * @typedef {Object} VimeoCuePoint\n     * @property {number} time The time of the cue point.\n     * @property {object} data The data passed when adding the cue point.\n     * @property {string} id The unique id for use with removeCuePoint.\n     */},{key:\"getCuePoints\",value:function getCuePoints(){return this.get(\"cuePoints\")}},{key:\"getCurrentTime\",value:function getCurrentTime(){return this.get(\"currentTime\")}\n/**\n     * Set the current playback position in seconds. If the player was\n     * paused, it will remain paused. Likewise, if the player was playing,\n     * it will resume playing once the video has buffered.\n     *\n     * You can provide an accurate time and the player will attempt to seek\n     * to as close to that time as possible. The exact time will be the\n     * fulfilled value of the promise.\n     *\n     * @param {number} currentTime\n     * @return {SetCurrentTimePromise}\n     */},{key:\"setCurrentTime\",value:function setCurrentTime(e){return this.set(\"currentTime\",e)}},{key:\"getDuration\",value:function getDuration(){return this.get(\"duration\")}},{key:\"getEnded\",value:function getEnded(){return this.get(\"ended\")}},{key:\"getLoop\",value:function getLoop(){return this.get(\"loop\")}\n/**\n     * Set the loop state of the player. When set to `true`, the player\n     * will start over immediately once playback ends.\n     *\n     * @param {boolean} loop\n     * @return {SetLoopPromise}\n     */},{key:\"setLoop\",value:function setLoop(e){return this.set(\"loop\",e)}\n/**\n     * Set the muted state of the player. When set to `true`, the player\n     * volume will be muted.\n     *\n     * @param {boolean} muted\n     * @return {SetMutedPromise}\n     */},{key:\"setMuted\",value:function setMuted(e){return this.set(\"muted\",e)}},{key:\"getMuted\",value:function getMuted(){return this.get(\"muted\")}},{key:\"getPaused\",value:function getPaused(){return this.get(\"paused\")}},{key:\"getPlaybackRate\",value:function getPlaybackRate(){return this.get(\"playbackRate\")}\n/**\n     * Set the playback rate of the player on a scale from `0.5` to `2`. When set\n     * via the API, the playback rate will not be synchronized to other\n     * players or stored as the viewer's preference.\n     *\n     * @param {number} playbackRate\n     * @return {SetPlaybackRatePromise}\n     */},{key:\"setPlaybackRate\",value:function setPlaybackRate(e){return this.set(\"playbackRate\",e)}},{key:\"getPlayed\",value:function getPlayed(){return this.get(\"played\")}},{key:\"getQualities\",value:function getQualities(){return this.get(\"qualities\")}},{key:\"getQuality\",value:function getQuality(){return this.get(\"quality\")}\n/**\n     * Set a video quality.\n     *\n     * @param {string} quality\n     * @return {SetQualityPromise}\n     */},{key:\"setQuality\",value:function setQuality(e){return this.set(\"quality\",e)}},{key:\"getSeekable\",value:function getSeekable(){return this.get(\"seekable\")}},{key:\"getSeeking\",value:function getSeeking(){return this.get(\"seeking\")}},{key:\"getTextTracks\",value:function getTextTracks(){return this.get(\"textTracks\")}},{key:\"getVideoEmbedCode\",value:function getVideoEmbedCode(){return this.get(\"videoEmbedCode\")}},{key:\"getVideoId\",value:function getVideoId(){return this.get(\"videoId\")}},{key:\"getVideoTitle\",value:function getVideoTitle(){return this.get(\"videoTitle\")}},{key:\"getVideoWidth\",value:function getVideoWidth(){return this.get(\"videoWidth\")}},{key:\"getVideoHeight\",value:function getVideoHeight(){return this.get(\"videoHeight\")}},{key:\"getVideoUrl\",value:function getVideoUrl(){return this.get(\"videoUrl\")}},{key:\"getVolume\",value:function getVolume(){return this.get(\"volume\")}\n/**\n     * Set the volume of the player on a scale from `0` to `1`. When set\n     * via the API, the volume level will not be synchronized to other\n     * players or stored as the viewer’s preference.\n     *\n     * Most mobile devices do not support setting the volume. An error will\n     * *not* be triggered in that situation.\n     *\n     * @param {number} volume\n     * @return {SetVolumePromise}\n     */},{key:\"setVolume\",value:function setVolume(e){return this.set(\"volume\",e)}}]);return Player}();if(!e){s=initializeScreenfull();initializeEmbeds();resizeEmbeds()}export{c as default};\n\n//# sourceMappingURL=player.es.js.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,withCSS}from\"framer\";import{motion}from\"framer-motion\";import Player from\"@vimeo/player\";import{useEffect,useRef,useState}from\"react\";import{useRadius,borderRadiusControl}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";const vimeoRegex=/^https?:\\/\\/vimeo\\.com\\/(\\d+)/;/**\n * VIMEO\n *\n * @framerIntrinsicWidth 480\n * @framerIntrinsicHeight 270\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerComponentPresetProps borderRadius, backgroundColor\n */ const Vimeo=withCSS(function Vimeo({video,autoplay,mute,controls,loop,titles,backgroundColor,onPlay=()=>{},onEnd=()=>{},style,...props}){const[key,setKey]=useState(0);const player=useRef();const borderRadius=useRadius(props);useEffect(()=>{if(!player.current)return;const[,id]=video.match(vimeoRegex)?video.match(vimeoRegex):[null,0];const embeddedPlayer=new Player(player.current,{id,autopause:false,autoplay:RenderTarget.current()===RenderTarget.canvas?false:autoplay,byline:titles,controls:controls,loop:loop,title:titles,muted:mute,responsive:true});embeddedPlayer.on(\"play\",onPlay);embeddedPlayer.on(\"ended\",onEnd);},[player,key]);useEffect(()=>{setKey(key=>key+1);},[video,autoplay,mute,controls,loop,titles]);return /*#__PURE__*/ _jsx(motion.div,{style:{background:backgroundColor,...style,borderRadius,position:\"relative\",width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",overflow:\"hidden\"},...props,children:/*#__PURE__*/ _jsx(\"div\",{className:\"framer-vimeo\",ref:player,style:{width:\"100%\",height:\"100%\"}},key)});},[\".framer-vimeo > div { padding: 0 !important; width: 100%; height: 100%; }\",]);Vimeo.defaultProps={video:\"https://vimeo.com/642263700\",autoplay:false,loop:false,mute:false,backgroundColor:\"rgba(0, 0, 0, 0)\",borderRadius:0};addPropertyControls(Vimeo,{video:{title:\"URL\",type:ControlType.String},...borderRadiusControl,controls:{title:\"Controls\",type:ControlType.Boolean,enabledTitle:\"Show\",disabledTitle:\"Hide\"},autoplay:{title:\"Autoplay\",type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\"},// playOnCanvas: {\n//     title: \"On Canvas\",\n//     type: ControlType.Boolean,\n//     enabledTitle: \"Play\",\n//     disabledTitle: \"Pause\",\n// },\nloop:{title:\"Loop\",type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\"},mute:{title:\"Mute\",type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\"},// titles: {\n//     title: \"Titles\",\n//     type: ControlType.Boolean,\n//     enabledTitle: \"Show\",\n//     disabledTitle: \"Hide\",\n// },\nbackgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0, 0, 0, 0)\"},onPlay:{type:ControlType.EventHandler},onEnd:{type:ControlType.EventHandler}});export default Vimeo;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Vimeo\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"270\",\"framerIntrinsicWidth\":\"480\",\"framerComponentPresetProps\":\"borderRadius, backgroundColor\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Vimeo.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useReducer,useState,useSyncExternalStore}from\"react\";import{ControlType,addPropertyControls}from\"framer\";import{useIsOnCanvas,emptyStateStyle,containerStyles,defaultEvents,useRadius,borderRadiusControl}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";var PlayOptions;(function(PlayOptions){PlayOptions[\"Normal\"]=\"Off\";PlayOptions[\"Auto\"]=\"On\";PlayOptions[\"Loop\"]=\"Loop\";})(PlayOptions||(PlayOptions={}));var ThumbnailOptions;(function(ThumbnailOptions){ThumbnailOptions[\"High\"]=\"High Quality\";ThumbnailOptions[\"Medium\"]=\"Medium Quality\";ThumbnailOptions[\"Low\"]=\"Low Quality\";ThumbnailOptions[\"Off\"]=\"Off\";})(ThumbnailOptions||(ThumbnailOptions={}));var ThumbnailFormat;(function(ThumbnailFormat){ThumbnailFormat[\"WebP\"]=\"webp\";ThumbnailFormat[\"JPG\"]=\"jpg\";})(ThumbnailFormat||(ThumbnailFormat={}));let _isBot=null;function isBot(){if(_isBot===null)_isBot=/bot|-Google|Google-|yandex|ia_archiver/iu.test(navigator.userAgent);return _isBot;}const emptySubscribe=()=>()=>{};/**\n * @framerIntrinsicWidth 560\n * @framerIntrinsicHeight 315\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerComponentPresetProps isRed, borderRadius\n */export function Youtube({url,play,shouldMute,thumbnail,isRed,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,title,...props}){const onCanvas=useIsOnCanvas();const isAutoplay=play!==\"Off\";const showThumbnail=onCanvas||thumbnail!==\"Off\"&&!isAutoplay;const[isPreloading,preloadVideo]=useReducer(()=>true,false);const[showVideo,startVideo]=useReducer(()=>true,!showThumbnail);const[isHovered,setHovered]=useState(false);// https://tkdodo.eu/blog/avoiding-hydration-mismatches-with-use-sync-external-store#usesyncexternalstore\nconst iframeIsDefaultVisible=useSyncExternalStore(emptySubscribe,// bots should not have display:none on the iframe\n()=>isBot(),()=>false);const borderRadius=useRadius(props);const hasBorderRadius=borderRadius!==\"0px 0px 0px 0px\"&&borderRadius!==\"0px\";if(url===\"\"){return /*#__PURE__*/_jsx(Instructions,{});}const parsedURL=parseVideoURL(url);if(parsedURL===undefined){return /*#__PURE__*/_jsx(ErrorMessage,{message:\"Invalid Youtube URL.\"});}const[videoId,embedURL]=parsedURL;// https://stackoverflow.com/questions/2068344/how-do-i-get-a-youtube-video-thumbnail-from-the-youtube-api\nconst thumbnailURL=getThumbnailURL(videoId,thumbnail,getWebPSupported()?\"webp\":\"jpg\");// https://developers.google.com/youtube/player_parameters\nconst searchParams=embedURL.searchParams;searchParams.set(\"iv_load_policy\",\"3\");searchParams.set(\"rel\",\"0\");searchParams.set(\"modestbranding\",\"1\");searchParams.set(\"playsinline\",\"1\");if(// bots shouldn't autoplay the video but see the iframe in the DOM\n!iframeIsDefaultVisible&&(isAutoplay||// when there is no thumbnail, we don't want to autoplay, unless video is started\nshowThumbnail&&showVideo)){searchParams.set(\"autoplay\",\"1\");}if(isAutoplay&&shouldMute){searchParams.set(\"mute\",\"1\");}if(play===\"Loop\"){searchParams.set(\"loop\",\"1\");searchParams.set(\"playlist\",videoId);}if(!isRed){searchParams.set(\"color\",\"white\");}return /*#__PURE__*/_jsxs(\"article\",{onPointerEnter:()=>setHovered(true),onPointerLeave:()=>setHovered(false),onPointerOver:preloadVideo,onKeyDown:startVideo,onClick:startVideo,style:{...wrapperStyle,borderRadius,transform:// Safari sometimes struggles to render border-radius:\n// - on the canvas when changing from 0 to any other value\n// - or when rendering an iframe\nhasBorderRadius&&(showVideo||onCanvas)?\"translateZ(0.000001px)\":\"unset\",cursor:\"pointer\",overflow:\"hidden\"},role:\"presentation\",children:[isPreloading&&/*#__PURE__*/_jsx(\"link\",{rel:\"preconnect\",href:\"https://www.youtube.com\"}),isPreloading&&/*#__PURE__*/_jsx(\"link\",{rel:\"preconnect\",href:\"https://www.google.com\"}),/*#__PURE__*/_jsx(\"div\",{style:{...videoStyle,background:showThumbnail?`center / cover url(${thumbnailURL}) no-repeat`:undefined}}),!onCanvas?/*#__PURE__*/_jsx(\"iframe\",{title:title||\"Youtube Video\",style:{...videoStyle,display:showVideo||iframeIsDefaultVisible?undefined:\"none\"},src:embedURL.href,frameBorder:\"0\",allow:\"presentation; fullscreen; accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\",onClick:onClick,onMouseEnter:onMouseEnter,onMouseLeave:onMouseLeave,onMouseDown:onMouseDown,onMouseUp:onMouseUp,loading:\"lazy\"}):null,showVideo||iframeIsDefaultVisible?null:/*#__PURE__*/_jsx(PlayButton,{onClick:startVideo,isHovered:isHovered,isRed:isRed})]});}Youtube.displayName=\"YouTube\";addPropertyControls(Youtube,{url:{type:ControlType.String,title:\"Video\"},play:{type:ControlType.Enum,title:\"Autoplay\",options:Object.values(PlayOptions)},shouldMute:{title:\"Mute\",type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden(props){return props.play===\"Off\";}},thumbnail:{title:\"Thumbnail\",description:\"Showing a thumbnail improves performance.\",type:ControlType.Enum,options:Object.values(ThumbnailOptions),hidden(props){return props.play!==\"Off\";}},isRed:{title:\"Color\",type:ControlType.Boolean,enabledTitle:\"Red\",disabledTitle:\"White\"},...borderRadiusControl,...defaultEvents});const defaultProps={url:\"https://youtu.be/smPos0mJvh8\",play:\"Off\",shouldMute:true,thumbnail:\"Medium Quality\",isRed:true};Youtube.defaultProps=defaultProps;function parseVideoURL(urlString){let url;try{url=new URL(urlString);}catch{const embedURL=getEmbedURL(urlString);return[urlString,embedURL];}if(url.hostname===\"youtube.com\"||url.hostname===\"www.youtube.com\"||url.hostname===\"youtube-nocookie.com\"||url.hostname===\"www.youtube-nocookie.com\"){const pathSegments=url.pathname.slice(1).split(\"/\");// https://www.youtube.com/watch?v=Fop2oskTug8\nif(pathSegments[0]===\"watch\"){const videoId=url.searchParams.get(\"v\");const embedURL=getEmbedURL(videoId);return[videoId,embedURL];}// https://www.youtube.com/embed/Fop2oskTug8\nif(pathSegments[0]===\"embed\"){const videoId=pathSegments[1];return[videoId,url];}}// https://youtu.be/Fop2oskTug8\nif(url.hostname===\"youtu.be\"){const videoId=url.pathname.slice(1);const embedURL=getEmbedURL(videoId);return[videoId,embedURL];}}function getEmbedURL(videoId){return new URL(`https://www.youtube.com/embed/${videoId}`);}function getThumbnailURL(videoId,res,format=\"jpg\"){// https://gist.github.com/a1ip/be4514c1fd392a8c13b05e082c4da363\nconst useWebP=format===\"webp\";const pre=useWebP?\"https://i.ytimg.com/vi_webp/\":\"https://i.ytimg.com/vi/\";const ext=useWebP?\"webp\":\"jpg\";switch(res){case\"Low Quality\":return`${pre}${videoId}/hqdefault.${ext}`;case\"Medium Quality\":return`${pre}${videoId}/sddefault.${ext}`;case\"High Quality\":return`${pre}${videoId}/maxresdefault.${ext}`;default:return`${pre}${videoId}/0.${ext}`;}}let _getWebPSupported;// https://stackoverflow.com/a/27232658\nfunction getWebPSupported(){// We're going to default to webp because it's pretty widely supported by now\nif(!window){return true;}if(_getWebPSupported!==undefined){return _getWebPSupported;}const element=document.createElement(\"canvas\");if(element.getContext&&element.getContext(\"2d\")){// was able or not to get WebP representation\nreturn element.toDataURL(\"image/webp\").indexOf(\"data:image/webp\")===0;}else{// very old browser like IE 8, canvas not supported\nreturn false;}}// Helper components\nfunction Instructions(){return /*#__PURE__*/_jsx(\"div\",{style:{...emptyStateStyle,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:\"To embed a Youtube video, add the URL to the properties\\xa0panel.\"})});}function ErrorMessage({message}){return /*#__PURE__*/_jsx(\"div\",{className:\"framerInternalUI-errorPlaceholder\",style:{...containerStyles,overflow:\"hidden\"},children:/*#__PURE__*/_jsxs(\"div\",{style:centerTextStyle,children:[\"Error: \",message]})});}function PlayButton({onClick,isHovered,isRed}){return /*#__PURE__*/_jsx(\"button\",{onClick:onClick,\"aria-label\":\"Play\",style:buttonStyle,children:/*#__PURE__*/_jsxs(\"svg\",{height:\"100%\",version:\"1.1\",viewBox:\"0 0 68 48\",width:\"100%\",children:[/*#__PURE__*/_jsx(\"path\",{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\",fill:isHovered?isRed?\"#f00\":\"#000\":\"#212121\",fillOpacity:isHovered?isRed?1:.8:.8,style:{transition:\"fill .1s cubic-bezier(0.4, 0, 1, 1), fill-opacity .1s cubic-bezier(0.4, 0, 1, 1)\"}}),/*#__PURE__*/_jsx(\"path\",{d:\"M 45,24 27,14 27,34\",fill:\"#fff\"})]})});}const buttonStyle={position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",width:68,height:48,padding:0,border:\"none\",background:\"transparent\",cursor:\"pointer\"};const wrapperStyle={position:\"relative\",width:\"100%\",height:\"100%\"};const centerTextStyle={textAlign:\"center\",minWidth:140};const videoStyle={position:\"absolute\",top:0,left:0,height:\"100%\",width:\"100%\"};\nexport const __FramerMetadata__ = {\"exports\":{\"Youtube\":{\"type\":\"reactComponent\",\"name\":\"Youtube\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerComponentPresetProps\":\"isRed, borderRadius\",\"framerIntrinsicWidth\":\"560\",\"framerIntrinsicHeight\":\"315\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./YouTube.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{memo,useCallback,useEffect,useMemo,useRef,useState}from\"react\";var ObjectFitType;(function(ObjectFitType){ObjectFitType[\"Fill\"]=\"fill\";ObjectFitType[\"Contain\"]=\"contain\";ObjectFitType[\"Cover\"]=\"cover\";ObjectFitType[\"None\"]=\"none\";ObjectFitType[\"ScaleDown\"]=\"scale-down\";})(ObjectFitType||(ObjectFitType={}));var SrcType;(function(SrcType){SrcType[\"Video\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));// Reduce renders\nfunction getProps(props){const{width,height,topLeft,topRight,bottomRight,bottomLeft,id,children,...rest}=props;return rest;}/**\n * VIDEO\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 112\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Video(props){const newProps=getProps(props);return /*#__PURE__*/_jsx(VideoMemo,{...newProps});}function usePlaybackControls(videoRef){const isInCurrentNavigationTarget=useIsInCurrentNavigationTarget();const requestingPlay=useRef(false);const setProgress=useCallback(rawProgress=>{if(!videoRef.current)return;const newProgress=(rawProgress===1?.999:rawProgress)*videoRef.current.duration;const isAlreadySet=Math.abs(videoRef.current.currentTime-newProgress)<.1;if(videoRef.current.duration>0&&!isAlreadySet){videoRef.current.currentTime=newProgress;}},[]);const play=useCallback(()=>{const isPlaying=videoRef.current.currentTime>0&&videoRef.current.onplaying&&!videoRef.current.paused&&!videoRef.current.ended&&videoRef.current.readyState>videoRef.current.HAVE_CURRENT_DATA;if(!isPlaying&&videoRef.current&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;videoRef.current.play().catch(e=>{})// It's likely fine, swallow error\n.finally(()=>requestingPlay.current=false);}},[]);const pause=useCallback(()=>{if(!videoRef.current||requestingPlay.current)return;videoRef.current.pause();},[]);return{play,pause,setProgress};}function useAutoplayBehavior({playingProp,muted,loop,playsinline,controls}){const[initialPlayingProp]=useState(()=>playingProp);const[hasPlayingPropChanged,setHasPlayingPropChanged]=useState(false);if(playingProp!==initialPlayingProp&&!hasPlayingPropChanged){setHasPlayingPropChanged(true);}const behavesAsGif=// passing `playing === true` on mount indicates that the video should\n// autoplay, like a GIF\ninitialPlayingProp&&muted&&loop&&playsinline&&!controls&&// Some users of the <Video> component use it by wrapping it with\n// another smart component and adding their own controls on top. (The\n// controls use transitions to control the video: e.g., when clicking\n// the play button, the smart component will transition to a state with\n// <Video playing={true} />.) In this case, we don't want the video to\n// behave as a gif, as it will be weird if the video suddenly started\n// acting as such (and auto-pausing when leaving the viewport) as soon\n// as the site visitor mutes it and clicks “Play”.\n!hasPlayingPropChanged;let autoplay;if(behavesAsGif)autoplay=\"on-viewport\";else if(initialPlayingProp)autoplay=\"on-mount\";else autoplay=\"no-autoplay\";return autoplay;}/**\n * The Video component has some effects that sync the video element with props\n * like `startTime`, `progress`, etc. React calls these effects whenever these\n * props change. However, it also calls them on the first mount, and this is\n * troublesome – if we’re doing SSR, and the user changed the video state before\n * the video was hydrated, the initial `useEffect` call will reset the video\n * state. To avoid this, we use this flag.\n */let isMountedAndReadyForProgressChanges=false;const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{srcType,srcFile,srcUrl,playing:playingProp,muted,playsinline,controls,progress,objectFit,backgroundColor,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,poster,posterEnabled,startTime:startTimeProp,volume,loop}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isOnCanvas won’t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isOnCanvas?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isOnCanvas?true:useInView(videoRef);// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isOnCanvas)return;if(playingProp)play();else pause();},[playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isOnCanvas)return;if(autoplayBehavior!==\"on-viewport\")return;if(isInViewport)play();else pause();},[autoplayBehavior,isInViewport]);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges){isMountedAndReadyForProgressChanges=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(progress!==null&&progress!==void 0?progress:0)*.01;setProgress(// When the progress value exists (e.g. <Video startTime={10}\n// progress={50} />), we respect the `progress` value over\n// `startTime`, even if `startTime` changes. That’s because\n// `startTime` == start == changing it shouldn’t affect the current\n// progress\n(rawProgressValue!==null&&rawProgressValue!==void 0?rawProgressValue:0)||// Then why fall back to `startTime` when `progress` doesn’t exist,\n// you might ask? Now, that’s for\n// - canvas UX: we want the video progress to change when the user\n//   is scrobbling the “Start Time” in component settings.\n// - backwards compatibility: maybe some users *are* scrobbling\n//   using `startTime` instead of `progress`? We don’t know, and it\n//   always supported it, so let’s not break it\n(startTime!==null&&startTime!==void 0?startTime:0)/100);},[startTime,srcFile,srcUrl,progress]);// 2) Handle cases when the motion value inside the progress prop changes\nuseEffect(()=>{if(!isMotionValue(progress))return;return progress.on(\"change\",value=>setProgress(value));},[progress]);// (Prototyping) Checking if we need to play on navigation enter\nuseOnEnter(()=>{if(wasPausedOnLeave.current===null)return;if(videoRef.current){// if (restartOnEnter) setProgress(0)\nif(!wasEndedOnLeave&&loop||!wasPausedOnLeave.current)play();}});// (Prototyping) Pausing & saving playing state on navigation exit\nuseOnExit(()=>{if(videoRef.current){wasEndedOnLeave.current=videoRef.current.ended;wasPausedOnLeave.current=videoRef.current.paused;pause();}});const src=useMemo(()=>{let fragment=\"\";// if (\n//     startTime > 0 &&\n//     videoRef.current &&\n//     !isNaN(videoRef.current.duration) &&\n//     !isOnCanvas\n// ) {\n//     console.log(startTime, videoRef.current.duration)\n//     fragment = `#t=${startTime * videoRef.current.duration}`\n// }\nif(srcType===\"URL\")return srcUrl+fragment;if(srcType===\"Upload\")return srcFile+fragment;},[srcType,srcFile,srcUrl,startTime]);// Autoplay via JS to work in Safari\nuseEffect(()=>{if(isSafari&&videoRef.current&&autoplayBehavior===\"on-mount\"){setTimeout(()=>play(),50);}},[]);// Volume Control\nuseEffect(()=>{if(videoRef.current&&!muted)videoRef.current.volume=(volume!==null&&volume!==void 0?volume:0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{if(!videoRef.current)return;if(videoRef.current.currentTime<.3)setProgress((startTime!==null&&startTime!==void 0?startTime:0)*.01);if(autoplayBehavior===\"on-mount\")play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked===null||onSeeked===void 0?void 0:onSeeked(e),onPause:e=>onPause===null||onPause===void 0?void 0:onPause(e),onPlay:e=>onPlay===null||onPlay===void 0?void 0:onPlay(e),onEnded:e=>onEnd===null||onEnd===void 0?void 0:onEnd(e),autoPlay:autoplayBehavior===\"on-mount\",preload:autoplayBehavior!==\"on-mount\"&&posterEnabled?\"metadata\":\"auto\",poster:posterEnabled?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isOnCanvas?true:muted,playsInline:playsinline,style:{cursor:!!onClick?\"pointer\":\"auto\",width:\"100%\",height:\"100%\",borderRadius,display:\"block\",objectFit:objectFit,backgroundColor:backgroundColor,objectPosition:\"50% 50%\"}});});Video.displayName=\"Video\";Video.defaultProps={srcType:\"URL\",srcUrl:\"https://assets.mixkit.co/videos/preview/mixkit-shining-sun-in-the-sky-surrounded-by-moving-clouds-31793-small.mp4\",srcFile:\"\",posterEnabled:false,controls:false,playing:true,loop:true,muted:true,playsinline:true,restartOnEnter:false,objectFit:\"cover\",backgroundColor:\"rgba(0,0,0,0)\",radius:0,volume:25,startTime:0};const groupsRegex=/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu;function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(groupsRegex)||[];return groups.map(capitalizeFirstLetter).join(\" \");}const objectFitOptions=[\"cover\",\"fill\",\"contain\",\"scale-down\",\"none\"];addPropertyControls(Video,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",placeholder:\"../example.mp4\",hidden(props){return props.srcType===\"Upload\";},description:\"Hosted video file URL. For YouTube, use the YouTube component.\"},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"mp4\",\"webm\"],hidden(props){return props.srcType===\"URL\";}},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\" \",hidden:({posterEnabled})=>!posterEnabled},backgroundColor:{type:ControlType.Color,title:\"Background\"},...borderRadiusControl,startTime:{title:\"Start Time\",type:ControlType.Number,min:0,max:100,step:.1,unit:\"%\"},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},objectFit:{type:ControlType.Enum,title:\"Fit\",options:objectFitOptions,optionTitles:objectFitOptions.map(titleCase)},// restartOnEnter: {\n//     type: ControlType.Boolean,\n//     title: \"On ReEnter\",\n//     enabledTitle: \"Restart\",\n//     disabledTitle: \"Resume\",\n// },\ncontrols:{type:ControlType.Boolean,title:\"Controls\",enabledTitle:\"Show\",disabledTitle:\"Hide\"},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"112\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"200\"}},\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map"],"mappings":"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"}