{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/basic/video/src/video.props.ts","../../../../../projects/components/widgets/basic/video/src/video.component.ts","../../../../../projects/components/widgets/basic/video/src/video.component.html","../../../../../projects/components/widgets/basic/video/src/index.ts"],"sourcesContent":["import {PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n    register(\n        'wm-video',\n        new Map(\n            [\n                ['autoplay', PROP_BOOLEAN],\n                ['class', PROP_STRING],\n                ['controls', PROP_BOOLEAN],\n                ['hint', PROP_STRING],\n                ['arialabel', PROP_STRING],\n                ['loop', PROP_BOOLEAN],\n                ['mp4format', PROP_STRING],\n                ['muted', PROP_BOOLEAN],\n                ['name', PROP_STRING],\n                ['oggformat', PROP_STRING],\n                ['show', {value: true, ...PROP_BOOLEAN}],\n                ['subtitlelang', {value: 'en', ...PROP_STRING}],\n                ['subtitlesource', PROP_STRING],\n                ['tabindex', {value: 0, ...PROP_NUMBER}],\n                ['videoposter', {value: 'resources/images/imagelists/default-image.png', ...PROP_STRING}],\n                ['videopreload', {value: 'none', ...PROP_STRING}],\n                ['videosupportmessage', {value: 'Your browser does not support the video tag.', ...PROP_STRING}],\n                ['webmformat', PROP_STRING]\n            ]\n        )\n    );\n};\n","import {Component, Inject, Injector, Optional, SecurityContext} from '@angular/core';\n\nimport {appendNode, createElement, removeNode, transformFileURI} from '@wm/core';\nimport {DISPLAY_TYPE, ImagePipe, provideAsWidgetRef, StylableComponent, styler, TrustAsPipe} from '@wm/components/base';\n\nimport {registerProps} from './video.props';\n\nconst DEFAULT_CLS = 'app-video';\nconst WIDGET_CONFIG = {\n    widgetType: 'wm-video',\n    hostClass: DEFAULT_CLS,\n    displayType: DISPLAY_TYPE.INLINE_BLOCK\n};\n\n@Component({\n    standalone: true,\n    imports: [TrustAsPipe, ImagePipe],\n    selector: '[wmVideo]',\n    templateUrl: './video.component.html',\n    providers: [\n        provideAsWidgetRef(VideoComponent)\n    ]\n})\nexport class VideoComponent extends StylableComponent {\n    static initializeProps = registerProps();\n    /**\n     * subtitle language property eg: en\n     */\n    public subtitlelang = 'en';\n    public videopreload: any;\n    public mp4format: string;\n    public muted: boolean;\n    public videoposter: any;\n    public controls: boolean;\n    public loop: boolean;\n    public autoplay: boolean;\n    public webmformat: string;\n    public oggformat: string;\n    public videosupportmessage: any;\n    public arialabel: string;\n    public tabindex: string;\n\n    constructor(inj: Injector, private trustAsPipe: TrustAsPipe, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n        super(inj, WIDGET_CONFIG, explicitContext);\n        styler(this.nativeElement, this);\n    }\n\n    // DO NOT use ngIf binding for the track. As of v6.0.Beta7 there is an error creating a void track node\n    onPropertyChange(key: string, nv: any, ov?: any) {\n        if (key === 'subtitlesource') {\n            let track: HTMLElement = this.nativeElement.querySelector('track');\n            if (track) {\n                removeNode(track, true);\n            }\n\n            track = createElement('track', {\n                kind: 'subtitles',\n                label: this.subtitlelang,\n                srclang: this.subtitlelang,\n                src: this.trustAsPipe.transform(nv, SecurityContext.RESOURCE_URL),\n                default: ''\n            }, true);\n\n            appendNode(track, this.nativeElement.querySelector('video'));\n        } else if (key === 'mp4format') {\n            this.mp4format = transformFileURI(nv);\n        } else if (key === 'webmformat') {\n            this.webmformat = transformFileURI(nv);\n        } else if (key === 'oggformat') {\n            this.oggformat = transformFileURI(nv);\n        } else if (key === 'tabindex') {\n            return;\n        }\n\n        super.onPropertyChange(key, nv, ov);\n    }\n}\n","<video [attr.aria-label]=\"arialabel || 'video'\" [preload]=\"videopreload\"\n  [src]=\"mp4format | trustAs: 'resource'\"\n  [muted]=\"muted\"\n  [poster]=\"videoposter | image\"\n  [controls]=\"controls\"\n  [loop]=\"loop\"\n  [autoplay]=\"autoplay\" [tabindex]=\"tabindex\">\n  @if (mp4format) {\n    <source type=\"video/mp4\" [src]=\"mp4format | trustAs: 'resource'\">\n  }\n  @if (webmformat) {\n    <source type=\"video/webm\" [src]=\"webmformat | trustAs: 'resource'\">\n  }\n  @if (oggformat) {\n    <source type=\"video/ogg\" [src]=\"oggformat | trustAs: 'resource'\">\n  }\n  {{videosupportmessage}}\n</video>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}