{"version":3,"file":"youtube-player.js","sources":["../src/components/youtube-player/index.tsx"],"sourcesContent":["import {html, LitElement} from 'lit'\nimport {customElement, property, state} from 'lit/decorators.js'\nimport {i18nService} from '../../services/i18nService';\nimport style from \"./style.scss?inline\";\nimport OnStateChangeEvent = YT.OnStateChangeEvent;\nimport PlayerEvent = YT.PlayerEvent;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'youtube-player': YoutubePlayer\n }\n\n interface Window {\n onYouTubeIframeAPIReady: () => void;\n }\n}\n\nconst Icons = {\n PLAY: 'M11,10 L17,10 17,26 11,26 M20,10 L26,10 26,26 20,26',\n PAUSE: 'M11,10 L18,13.74 18,22.28 11,26 M18,13.74 L26,18 26,18 18,22.28',\n REPLAY: 'M 16.144531 11.222656 C 15.566406 14.089844 13.023438 16.171875 10.097656 ' +\n '16.171875 C 6.695312 16.171875 3.925781 13.402344 3.925781 9.996094 C 3.925781 ' +\n '6.59375 6.691406 3.824219 10.097656 3.824219 C 11.71875 3.824219 13.253906 4.480469 ' +\n '14.402344 5.597656 L 12.496094 7.523438 L 18.773438 7.523438 L 18.773438 1.21875 L ' +\n '17.042969 2.945312 C 15.195312 1.128906 12.71875 0.101562 10.101562 0.101562 C ' +\n '4.640625 0.101562 0.199219 4.542969 0.199219 9.996094 C 0.199219 15.457031 4.640625 ' +\n '19.894531 10.097656 19.894531 C 14.792969 19.898438 18.875 16.558594 19.800781 ' +\n '11.960938 Z M 16.144531 11.222656'\n};\n\n@customElement('youtube-player')\nexport class YoutubePlayer extends LitElement {\n @property() public url = ''\n @property() public customControl = false;\n\n @state() progress = 0;\n @state() playerState: YT.PlayerState = -1;\n @state() i18nInitialized: boolean = false\n\n player: YT.Player | undefined;\n playerId = \"embed-player\" + this.guid();\n interval: number | undefined;\n\n constructor() {\n super();\n this.initPlayer = this.initPlayer.bind(this);\n this.updateProgressBar = this.updateProgressBar.bind(this);\n }\n\n async connectedCallback() {\n super.connectedCallback();\n await i18nService.initTranslations();\n this.i18nInitialized = true;\n this.loadPlayer();\n }\n\n render() {\n if (!this.i18nInitialized) return;\n\n return html`\n \n