{"version":3,"file":"Video.CZJkGUMS.mjs","names":["e","t","n","r","o","i","a","u","WeakMap","Promise","l","s","Vimeo","Player","key","ObjectFitType","SrcType","e"],"sources":["https:/ga.jspm.io/npm:@vimeo/player@2.16.4/dist/player.es.js","https:/framer.com/m/framer/default-utils.js@^0.45.0","https:/framerusercontent.com/modules/0sWquksFr1YDkaIgrl9Z/VgWe6mCMJOseqaLiMnaC/Vimeo.js","https:/framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js","https:/framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/7qT0r3So12155VV5Jq5x/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{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","import{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{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget,RenderTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius,useRenderTarget}from\"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\";// https://framer.com/m/framer/default-utils.js@^0.45.0\nimport{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={}));const defaultVideo=\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\";// 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 isPlayingRef=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 video=videoRef.current;if(!video)return;video.preload=\"auto\"// makes sure browsers don't throttle: https://html.spec.whatwg.org/multipage/media.html#:~:text=When%20the%20media%20resource%20is%20playing%2C%20hints%20to%20the%20user%20agent%20that%20bandwidth%20is%20to%20be%20considered%20scarce%2C%20e.g.%20suggesting%20throttling%20the%20download%20so%20that%20the%20media%20data%20is%20obtained%20at%20the%20slowest%20possible%20rate%20that%20still%20maintains%20consistent%20playback.\n;const isPlaying=video.currentTime>0&&video.onplaying&&!video.paused&&!video.ended&&video.readyState>=video.HAVE_CURRENT_DATA;if(!isPlaying&&video&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;isPlayingRef.current=true;video.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();isPlayingRef.current=false;},[]);return{play,pause,setProgress,isPlaying:isPlayingRef};}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;}const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{// default props\nsrcType=\"URL\",srcUrl,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:startTimeProp=0,poster,playing:playingProp,progress,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const renderTarget=useRenderTarget();const isStaticRenderer=isOnCanvas||renderTarget===RenderTarget.export;const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isStaticRenderer won’t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isStaticRenderer?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isStaticRenderer?true:useInView(videoRef);const isCloseToViewport=isStaticRenderer?false:useInView(videoRef,{margin:\"10%\",once:true});// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress,isPlaying}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isStaticRenderer)return;if(autoplayBehavior===\"on-viewport\")return;if(playingProp)play();else pause();},[autoplayBehavior,playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isStaticRenderer)return;// this also explicitly retries playing for videos that play on-mount, which could fail if they're not muted for example\nif(isInViewport&&playingProp&&autoplayBehavior!==\"no-autoplay\")play();if(autoplayBehavior!==\"on-viewport\")return;pause();},[autoplayBehavior,isInViewport,playingProp]);useEffect(()=>{if(!isOnCanvas||poster||posterEnabled||startTime||!videoRef.current)return;// forces a poster to show up when the video is in an iframe; this is needed when `poster` changes\nvideoRef.current.currentTime=.01;},[posterEnabled,poster,startTime]);/**\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     */const isMountedAndReadyForProgressChanges=useRef(false);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges.current){isMountedAndReadyForProgressChanges.current=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(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??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??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//     !isStaticRenderer\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??0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{const video=videoRef.current;if(!video)return;if(video.currentTime<.3&&startTime>0)setProgress((startTime??0)*.01);if(// when the component updates (e.g. only srcFile/url changes), and the video was already playing, keep playing\nisPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport)play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked?.(e),onPause:e=>onPause?.(e),onPlay:e=>onPlay?.(e),onEnded:e=>onEnd?.(e),autoPlay:isPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport,preload:isPlaying.current?\"auto\":isStaticRenderer&&!poster?\"metadata\":autoplayBehavior!==\"on-mount\"&&!isCloseToViewport?\"none\":// `autoplay` overrides this too\n\"metadata\",poster:posterEnabled&&!srcFile&&srcUrl===defaultVideo?\"https://framerusercontent.com/images/5ILRvlYXf72kHSVHqpa3snGzjU.jpg\":posterEnabled&&poster?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isStaticRenderer?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\";function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu)||[];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\",defaultValue:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",hidden(props){return props.srcType===\"Upload\";}},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\"},...borderRadiusControl,posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\"Image\",hidden:({posterEnabled})=>!posterEnabled,description:\"We recommend adding a poster. [Learn more](https://www.framer.com/help/articles/how-are-videos-optimized-in-framer/).\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0,0,0,0)\"},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\",defaultValue:false},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted,defaultValue:25},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"112\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map"],"mappings":"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"}