forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			1,016 B
		
	
	
	
		
			Svelte
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			1,016 B
		
	
	
	
		
			Svelte
		
	
	
	
	
	
| <script lang="ts">
 | |
|     import {createEventDispatcher} from "svelte";
 | |
|     import {XCircleIcon} from "@rgossiaux/svelte-heroicons/solid";
 | |
| 
 | |
|     /**
 | |
|      * The slotted element will be shown on top, with a lower-opacity border
 | |
|      */
 | |
|     const dispatch = createEventDispatcher<{ close }>();
 | |
| </script>
 | |
| 
 | |
| <div class="absolute top-0 right-0 w-screen h-screen p-4 md:p-6" style="background-color: #00000088">
 | |
|     <div class="content normal-background">
 | |
|         <div class="rounded-xl h-full">
 | |
|             <slot></slot>
 | |
|         </div>
 | |
|         <slot name="close-button">
 | |
|             <!-- The close button is placed _after_ the default slot in order to always paint it on top -->
 | |
|             <div class="w-8 h-8 absolute right-10 top-10 cursor-pointer" on:click={() => dispatch("close")}>
 | |
|                 <XCircleIcon/>
 | |
|             </div>
 | |
|         </slot>
 | |
|     </div>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| <style>
 | |
|   .content {
 | |
|     height: calc( 100vh - 2rem );
 | |
|     border-radius: 0.5rem;
 | |
|     overflow-x: auto;
 | |
|     box-shadow: 0 0 1rem #00000088;
 | |
|   }
 | |
| </style>
 |