UNPKG

@ngx-telly/plugin-audios

Version:

Telly - Audio picker plugin

1 lines 4.04 kB
{"version":3,"file":"ngx-telly-plugin-audios.mjs","sources":["../../../../libs/plugin-audios/src/lib/icons.ts","../../../../libs/plugin-audios/src/lib/components/audio-select/audio-select.component.ts","../../../../libs/plugin-audios/src/lib/components/audio-select/audio-select.component.html","../../../../libs/plugin-audios/src/ngx-telly-plugin-audios.ts"],"sourcesContent":["export const tracks = \"M15,6H3V8H15V6M15,10H3V12H15V10M3,16H11V14H3V16M17,6V14.18C16.69,14.07 16.35,14 16,14A3,3 0 0,0 13,17A3,3 0 0,0 16,20A3,3 0 0,0 19,17V8H22V6H17Z\"\n","\nimport { Component, HostBinding, HostListener, inject, input, OnInit, output } from '@angular/core';\nimport { PlayerComponent } from '@ngx-telly/player';\nimport { TellyEventsService } from '@ngx-telly/player/services';\nimport { takeUntil } from 'rxjs';\nimport { AudioTrack } from '../../audio';\nimport { tracks } from '../../icons';\n\n@Component({\n selector: 'telly-audio-select',\n templateUrl: './audio-select.component.html',\n styleUrls: ['./audio-select.component.scss'],\n imports: []\n})\nexport class AudioSelectComponent implements OnInit {\n icon = input(tracks);\n size = input('1.4rem');\n audios = input<AudioTrack[]>([]);\n current = input<string | number>();\n\n trackSelected = output<AudioTrack>();\n\n events = inject(TellyEventsService);\n player = inject(PlayerComponent);\n show = false;\n\n @HostBinding('style.display') get display() {\n return this.audios().length ? '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 onAudioSelect(track: AudioTrack) {\n track.select();\n this.player.media.indicate(`Audio: ${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 @for (a of audios(); track a.id) {\n <li [class.enabled]=\"current() === a.id\" (click)=\"onAudioSelect(a)\">{{ a.name }}</li>\n }\n </ul>\n </div>\n</div>\n\n<div class=\"icon-wrapper\" tip=\"Audio tracks\">\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":";;;;;;AAAO,MAAM,MAAM,GAAG,kJAAkJ;;MCc3J,oBAAoB,CAAA;AANjC,IAAA,WAAA,GAAA;AAOE,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,MAAM,2EAAC;AACpB,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,2EAAC;AACtB,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAe,EAAE,6EAAC;QAChC,IAAA,CAAA,OAAO,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAmB;QAElC,IAAA,CAAA,aAAa,GAAG,MAAM,EAAc;AAEpC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC;AACnC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;QAChC,IAAA,CAAA,IAAI,GAAG,KAAK;AAkBb,IAAA;AAhBC,IAAA,IAAkC,OAAO,GAAA;AACvC,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM;IAC/C;IAE6B,OAAO,GAAA;AAClC,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI;IACxB;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAClG;AAEA,IAAA,aAAa,CAAC,KAAiB,EAAA;QAC7B,KAAK,CAAC,MAAM,EAAE;AACd,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA,OAAA,EAAU,KAAK,CAAC,IAAI,CAAA,CAAE,CAAC;IACpD;+GA3BW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,gtBCdjC,6iBAqBA,EAAA,MAAA,EAAA,CAAA,iFAAA,CAAA,EAAA,CAAA,CAAA;;4FDPa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,WAGrB,EAAE,EAAA,QAAA,EAAA,6iBAAA,EAAA,MAAA,EAAA,CAAA,iFAAA,CAAA,EAAA;;sBAcZ,WAAW;uBAAC,eAAe;;sBAI3B,YAAY;uBAAC,aAAa;;;AE9B7B;;AAEG;;;;"}