forked from cybrespace/pinafore
38 lines
737 B
HTML
38 lines
737 B
HTML
<ModalDialog
|
|
:label
|
|
:shown
|
|
background="var(--muted-modal-bg)"
|
|
muted="true"
|
|
className="video-modal-dialog"
|
|
on:destroyDialog="destroy()"
|
|
>
|
|
<video poster="{{poster}}"
|
|
src="{{src}}"
|
|
width="{{width}}"
|
|
height="{{height}}"
|
|
aria-label="Video: {{description || ''}}"
|
|
controls
|
|
/>
|
|
</ModalDialog>
|
|
<style>
|
|
:global(.video-modal-dialog video) {
|
|
object-fit: contain;
|
|
max-width: calc(100vw - 20px);
|
|
max-height: calc(100% - 20px);
|
|
overflow: hidden;
|
|
}
|
|
</style>
|
|
<script>
|
|
import ModalDialog from './ModalDialog.html'
|
|
|
|
export default {
|
|
components: {
|
|
ModalDialog
|
|
},
|
|
methods: {
|
|
async show() {
|
|
this.set({shown: true})
|
|
}
|
|
}
|
|
}
|
|
</script> |