50 lines
		
	
	
		
			No EOL
		
	
	
		
			1,013 B
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			No EOL
		
	
	
		
			1,013 B
		
	
	
	
		
			HTML
		
	
	
	
	
	
<ModalDialog
 | 
						|
  :id
 | 
						|
  :label
 | 
						|
  background="var(--muted-modal-bg)"
 | 
						|
  muted="true"
 | 
						|
  className="image-modal-dialog"
 | 
						|
>
 | 
						|
  {{#if type === 'gifv'}}
 | 
						|
    <AutoplayVideo
 | 
						|
      ariaLabel="Animated GIF: {{description || ''}}"
 | 
						|
      :poster
 | 
						|
      :src
 | 
						|
      :width
 | 
						|
      :height
 | 
						|
    />
 | 
						|
  {{else}}
 | 
						|
    <img
 | 
						|
      src={{src}}
 | 
						|
      width={{width}}
 | 
						|
      height={{height}}
 | 
						|
      alt={{description || ''}}
 | 
						|
      title={{description || ''}}
 | 
						|
    />
 | 
						|
  {{/if}}
 | 
						|
</ModalDialog>
 | 
						|
<style>
 | 
						|
  :global(.image-modal-dialog img, .image-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'
 | 
						|
  import AutoplayVideo from '../../AutoplayVideo.html'
 | 
						|
  import { show } from '../helpers/showDialog'
 | 
						|
  import { oncreate } from '../helpers/onCreateDialog'
 | 
						|
 | 
						|
  export default {
 | 
						|
    oncreate,
 | 
						|
    components: {
 | 
						|
      ModalDialog,
 | 
						|
      AutoplayVideo
 | 
						|
    },
 | 
						|
    methods: {
 | 
						|
      show
 | 
						|
    }
 | 
						|
  }
 | 
						|
</script> |