<ModalDialog :label :shown background="var(--muted-modal-bg)" muted="true">
  {{#if type === 'gifv'}}
    <video
      aria-label="Animated GIF: {{description || ''}}"
      poster="{{poster}}"
      src="{{src}}"
      width="{{width}}"
      height="{{height}}"
      autoplay
      muted
      loop
      playsinline
    />
  {{else}}
    <img
      src="{{src}}"
      width="{{width}}"
      height="{{height}}"
      alt="{{description || ''}}"
    />
  {{/if}}
</ModalDialog>
<style>
  :global(#modal-dialog img, #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>