<html><head></head><body>{"version":3,"file":"outline-video-vimeo.js","sources":["../../../../src/components/base/outline-video-vimeo/outline-video-vimeo.ts"],"sourcesContent":["import { html, CSSResultGroup } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport componentStyles from './outline-video-vimeo.css.lit';\nimport { OutlineElement } from '../../base/outline-element/outline-element';\nimport Player from '@vimeo/player';\n\nexport interface OutlineVideoVimeoInterface extends HTMLElement {\n videoID: string;\n}\n\n/**\n * The Outline VideoVimeo component\n *\n * @element outline-video-vimeo\n */\n@customElement('outline-video-vimeo')\nexport class OutlineVideoVimeo\n extends OutlineElement\n implements OutlineVideoVimeoInterface\n{\n static styles: CSSResultGroup = [componentStyles];\n\n hash: string;\n url: string;\n title: string;\n firedProgressEvent: { [key: string]: boolean } = {\n '10': false,\n '25': false,\n '50': false,\n '75': false,\n '90': false,\n };\n\n constructor() {\n super();\n }\n\n @property({ type: String, attribute: 'video-id', reflect: true })\n videoID: string;\n\n formatEventName(eventName: string) {\n if (eventName === 'ended') {\n return 'Complete';\n } else {\n return eventName.charAt(0).toUpperCase() + eventName.slice(1);\n }\n }\n\n getProgress(data: { percent: number }) {\n return Math.trunc(data.percent * 100);\n }\n\n needProgressEvent(data: { percent: number }) {\n const currentProgress = this.getProgress(data);\n const progressValueToSend: string | undefined = Object.keys(\n this.firedProgressEvent\n ).find(key => this.firedProgressEvent[key] === false);\n let progressValueToSendNum: number | null = null;\n\n if (!progressValueToSend) {\n return false;\n } else {\n progressValueToSendNum = parseInt(progressValueToSend);\n }\n\n if (currentProgress >= progressValueToSendNum) {\n this.firedProgressEvent[progressValueToSend] = true;\n return progressValueToSend;\n }\n\n return false;\n }\n\n fireEvent(eventName: string, data: { percent: number }) {\n const needToSendProgressValue =\n eventName === 'progress' ? this.needProgressEvent(data) : true;\n const dataLayerData = {\n videoTitle: this.title,\n videoSource: this.url,\n videoAction: this.formatEventName(eventName),\n Progress:\n eventName === 'progress'\n ? needToSendProgressValue\n : this.getProgress(data),\n };\n\n if (eventName !== 'progress' || needToSendProgressValue) {\n this.dispatchEvent(\n new CustomEvent('score-video-gtm-event', {\n detail: {\n dataLayerData,\n },\n bubbles: true,\n composed: true,\n })\n );\n }\n }\n\n firstUpdated() {\n this.url = `https://player.vimeo.com/video/${this.videoID}`;\n const iframe = this.shadowRoot?.querySelector('iframe');\n if (iframe) {\n const player = new Player(iframe);\n\n player.on('play', (data: { percent: number }) =>\n this.fireEvent('play', data)\n );\n player.on('pause', (data: { percent: number }) =>\n this.fireEvent('pause', data)\n );\n player.on('ended', (data: { percent: number }) =>\n this.fireEvent('ended', data)\n );\n player.on('timeupdate', (data: { percent: number }) =>\n this.fireEvent('progress', data)\n );\n\n player.getVideoTitle().then((title: string) => (this.title = title));\n }\n }\n\n render() {\n return html` <div class='\"video\"'>\n <iframe\n allowfullscreen\n="" frameborder='\"0\"\n' height='\"270px\"\n' mozallowfullscreen\n="" src='\"https://player.vimeo.com/video/${this.videoID}\"\n' webkitallowfullscreen\n="" width='\"480px\"\n'>\n \n </iframe\n></div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'outline-video-vimeo': OutlineVideoVimeo;\n }\n}\n"],"names":["OutlineVideoVimeo","OutlineElement","constructor","super","this","firedProgressEvent","formatEventName","eventName","charAt","toUpperCase","slice","getProgress","data","Math","trunc","percent","needProgressEvent","currentProgress","progressValueToSend","Object","keys","find","key","progressValueToSendNum","parseInt","fireEvent","needToSendProgressValue","dataLayerData","videoTitle","title","videoSource","url","videoAction","Progress","dispatchEvent","CustomEvent","detail","bubbles","composed","firstUpdated","videoID","iframe","_a","shadowRoot","querySelector","player","Player","on","getVideoTitle","then","render","html","styles","componentStyles","__decorate","property","type","String","attribute","reflect","prototype","customElement"],"mappings":"03BAgBO,IAAMA,EAAN,cACGC,EAgBRC,cACEC,QATFC,KAAAC,mBAAiD,CAC/C,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EAKP,CAKDC,gBAAgBC,GACd,MAAkB,UAAdA,EACK,WAEAA,EAAUC,OAAO,GAAGC,cAAgBF,EAAUG,MAAM,EAE9D,CAEDC,YAAYC,GACV,OAAOC,KAAKC,MAAqB,IAAfF,EAAKG,QACxB,CAEDC,kBAAkBJ,GAChB,MAAMK,EAAkBb,KAAKO,YAAYC,GACnCM,EAA0CC,OAAOC,KACrDhB,KAAKC,oBACLgB,MAAKC,IAAwC,IAAjClB,KAAKC,mBAAmBiB,KACtC,IAAIC,EAAwC,KAE5C,QAAKL,IAGHK,EAAyBC,SAASN,GAGhCD,GAAmBM,IACrBnB,KAAKC,mBAAmBa,IAAuB,EACxCA,GAIV,CAEDO,UAAUlB,EAAmBK,GAC3B,MAAMc,EACU,aAAdnB,GAA2BH,KAAKY,kBAAkBJ,GAC9Ce,EAAgB,CACpBC,WAAYxB,KAAKyB,MACjBC,YAAa1B,KAAK2B,IAClBC,YAAa5B,KAAKE,gBAAgBC,GAClC0B,SACgB,aAAd1B,EACImB,EACAtB,KAAKO,YAAYC,KAGP,aAAdL,GAA4BmB,IAC9BtB,KAAK8B,cACH,IAAIC,YAAY,wBAAyB,CACvCC,OAAQ,CACNT,iBAEFU,SAAS,EACTC,UAAU,IAIjB,CAEDC,qBACEnC,KAAK2B,IAAM,kCAAkC3B,KAAKoC,UAClD,MAAMC,EAAwB,QAAfC,EAAAtC,KAAKuC,kBAAU,IAAAD,OAAA,EAAAA,EAAEE,cAAc,UAC9C,GAAIH,EAAQ,CACV,MAAMI,EAAS,IAAIC,EAAOL,GAE1BI,EAAOE,GAAG,QAASnC,GACjBR,KAAKqB,UAAU,OAAQb,KAEzBiC,EAAOE,GAAG,SAAUnC,GAClBR,KAAKqB,UAAU,QAASb,KAE1BiC,EAAOE,GAAG,SAAUnC,GAClBR,KAAKqB,UAAU,QAASb,KAE1BiC,EAAOE,GAAG,cAAenC,GACvBR,KAAKqB,UAAU,WAAYb,KAG7BiC,EAAOG,gBAAgBC,MAAMpB,GAAmBzB,KAAKyB,MAAQA,GAC9D,CACF,CAEDqB,SACE,OAAOC,CAAI;;8CAE+B/C,KAAKoC;;;;;;;;;WAUhD,GAnHMxC,EAAAoD,OAAyB,CAACC,GAkBjCC,EAAA,CADCC,EAAS,CAAEC,KAAMC,OAAQC,UAAW,WAAYC,SAAS,KAC1C3D,EAAA4D,UAAA,eAAA,GAtBL5D,EAAiBsD,EAAA,CAD7BO,EAAc,wBACF7D"}<style> .hidden { display: none; } </style> <a href="http://www.zgdx8.com" class="hidden">William-Hill-customerservice@zgdx8.com</a> <a href="http://www.symmjg.com" class="hidden">皇冠体育</a> <a href="http://www.w-catering.com" class="hidden">2024欧洲杯竞猜</a> <a href="http://ywwnet.zhiyuan-sh.com" class="hidden">8bo体育社区.</a> <a href="http://www.seezl.com" class="hidden">皇冠博彩</a> <a href="http://www.wislab.net" class="hidden">Crown-official-website-marketing@wislab.net</a> <a href="http://crlrom.39680a.com" class="hidden">大洋信息</a> <a href="http://www.c178.net" class="hidden">Online-gambling-platform-billing@c178.net</a> <a href="http://www.iconfuture.net" class="hidden">太阳城官方网站</a> <a href="http://www.khobuon.net" class="hidden">太阳城集团</a> <a href="http://www.cceweb.net" class="hidden">博彩平台</a> <a href="http://www.pronewport.com" class="hidden">太阳城</a> <a href="http://www.thithithainguyen.net" class="hidden">bbin</a> <a href="http://lkcwvu.danaerem.com" class="hidden">南京订餐小秘书</a> <a href="http://www.swissabc.net" class="hidden">体育博彩</a> <a href="http://www.866045.com" class="hidden">Crown-Sports-sales@866045.com</a> <a href="http://www.cceweb.net" class="hidden">Gaming-platform-info@cceweb.net</a> <a href="http://web-sitemap.synerged.net" class="hidden">华杨减肥网</a> <a href="http://www.castingmoldingmachine.com" class="hidden">Grand-Lisboa-marketing@castingmoldingmachine.com</a> <a href="http://xuxaad.au99168.com" class="hidden">艾融软件</a> <a href="https://es-la.facebook.com/public/可靠的在线赌博十大赌博网站>>✔️网址:ad11.net✔️手输<<可靠的在线赌博十大赌博网站>>✔️网址:ad11.net✔️手输<<.gcn" class="hidden">网赚宝盒论坛</a> <a href="https://www.deep6gear.com/catalogsearch/result/?q=✔️网址:la66.net✔️赌博信誉排行十名大全✔️网址:la66.net✔️赌博信誉排行十名大全.wbn" class="hidden">私房团</a> <a href="https://stock.adobe.com/search?k=✔️官方网址:la777.net✔️信誉好的网赌平台-维基百科✔️官方网址:la777.net✔️信誉好的网赌平台-维基百科.jiu" class="hidden">湖南民生网</a> <a href="https://tw.dictionary.yahoo.com/dictionary?p=✔️网址:la666.net✔️正规电子游艺网站✔️网址:la666.net✔️正规电子游艺网站" class="hidden">品匠装饰</a> <a href="https://www.deep6gear.com/catalogsearch/result/?q=优德游戏app(关于优德游戏app的简介)✔️最新网址:la55.net✔️" class="hidden">江油信息网 </a> <a href="https://www.deep6gear.com/catalogsearch/result/?q=✔️网址:la66.net✔️科普一下888贵宾会下载的百科" class="hidden">科蓝软件</a> <a href="https://stock.adobe.com/search/images?k=✔️官方网址:la777.net✔️推荐网络博彩最全赌博软件平台介绍✔️官方网址:la777.net✔️推荐网络博彩最全赌博软件平台介绍.miq" class="hidden">新民周刊</a> <a href="https://stock.adobe.com/search/images?k=十大赌博正规平台在线(中国)有限公司✔️最新网址:la55.net✔️.fjm" class="hidden">暗组技术论坛</a> <a href="https://tw.dictionary.yahoo.com/dictionary?p=全球十大网赌正规平台▎官网>>✔️网址:ad11.net✔️手输<<全球十大网赌正规平台▎官网>>✔️网址:ad11.net✔️手输<<.uma" class="hidden">平凉天气预报</a> <a href="https://stock.adobe.com/search/images?k=✔️官方网址:la777.net✔️澳门新萄京赌赌场-维基百科.rom" class="hidden">大连天气预报</a> <a href="/news/jrzwsn-582683" class="hidden">上海家教网</a> <a href="/CN/pcbbas-794788.html" class="hidden">极限时间</a> <a href="/sitemap.xml" class="hidden">站点地图</a> <a href="/cn/teodqc-905936" class="hidden">金夫人婚纱摄影</a> </body></html>