@ngx-telly/plugin-captions
Version:
Telly - Caption picker plugin
1 lines • 5.41 kB
Source Map (JSON)
{"version":3,"file":"ngx-telly-plugin-captions.mjs","sources":["../../../../libs/plugin-captions/src/lib/icons.ts","../../../../libs/plugin-captions/src/lib/components/caption-select/caption-select.component.ts","../../../../libs/plugin-captions/src/lib/components/caption-select/caption-select.component.html","../../../../libs/plugin-captions/src/ngx-telly-plugin-captions.ts"],"sourcesContent":["export const captions = \"M18,11H16.5V10.5H14.5V13.5H16.5V13H18V14A1,1 0 0,1 17,15H14A1,1 0 0,1 13,14V10A1,1 0 0,1 14,9H17A1,1 0 0,1 18,10M11,11H9.5V10.5H7.5V13.5H9.5V13H11V14A1,1 0 0,1 10,15H7A1,1 0 0,1 6,14V10A1,1 0 0,1 7,9H10A1,1 0 0,1 11,10M19,4H5C3.89,4 3,4.89 3,6V18A2,2 0 0,0 5,20H19A2,2 0 0,0 21,18V6C21,4.89 20.1,4 19,4Z\";\n","import { NgForOf } from '@angular/common';\nimport { Component, HostBinding, HostListener, inject, input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { PlayerComponent } from '@ngx-telly/player';\nimport { TellyEventsService } from '@ngx-telly/player/services';\nimport { takeUntil } from 'rxjs';\nimport { Caption } from '../../caption';\nimport { captions } from '../../icons';\n\n@Component({\n selector: 'telly-caption-select',\n templateUrl: './caption-select.component.html',\n styleUrls: ['./caption-select.component.scss'],\n imports: [NgForOf]\n})\nexport class CaptionSelectComponent implements OnInit, OnChanges {\n icon = input(captions);\n size = input('1.4rem');\n captions = input<Caption[]>([]);\n current = input<string | number>();\n\n events = inject(TellyEventsService);\n player = inject(PlayerComponent);\n show = false;\n\n @HostBinding('style.display') get display() {\n return this.captions().length > 1 ? 'flex' : 'none';\n }\n\n @HostListener('pointerdown') onClick() {\n this.show = !this.show;\n }\n\n ngOnInit() {\n this.events.hide$.pipe(takeUntil(this.events.destroy$)).subscribe((hide) => (this.show = !hide));\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['current']?.currentValue != null) {\n const track = this.captions().find((x) => x.id === changes['current'].currentValue);\n if (track) this.onCaptionSelect(track);\n }\n }\n\n onCaptionSelect(track: Caption) {\n track.callback();\n this.player.media.indicate(`Captions: ${track.name}`);\n }\n}\n","<div class=\"wrapper\">\n <div class=\"telly-menu telly-element\" [style.visibility]=\"show ? 'visible' : 'hidden'\" [style.opacity]=\"show ? 1 : 0\">\n <ul>\n <li [class.enabled]=\"current() === c.id\" *ngFor=\"let c of captions()\" (click)=\"onCaptionSelect(c)\">{{ c.name }}</li>\n </ul>\n </div>\n</div>\n\n<div class=\"icon-wrapper\" tip=\"Subtitles\">\n <svg\n viewBox=\"0 0 24 24\"\n [style.width]=\"size()\"\n >\n <path\n fill=\"white\"\n [attr.d]=\"icon()\"\n />\n </svg>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}