| 
									
										
										
										
											2023-02-02 17:57:07 +01:00
										 |  |  | <script lang="ts"> | 
					
						
							| 
									
										
										
										
											2023-03-28 05:13:48 +02:00
										 |  |  |   import BaseUIElement from "../BaseUIElement.js"; | 
					
						
							|  |  |  |   import { onDestroy, onMount } from "svelte"; | 
					
						
							| 
									
										
										
										
											2023-02-02 17:57:07 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-28 05:13:48 +02:00
										 |  |  |   export let construct: BaseUIElement | (() => BaseUIElement); | 
					
						
							|  |  |  |   let elem: HTMLElement; | 
					
						
							|  |  |  |   let html: HTMLElement; | 
					
						
							| 
									
										
										
										
											2023-02-02 17:57:07 +01:00
										 |  |  |   onMount(() => { | 
					
						
							| 
									
										
										
										
											2023-03-28 05:13:48 +02:00
										 |  |  |     const uiElem = typeof construct === "function" | 
					
						
							|  |  |  |       ? construct() : construct; | 
					
						
							|  |  |  |     html =uiElem?.ConstructElement(); | 
					
						
							|  |  |  |     if (html !== undefined) { | 
					
						
							|  |  |  |       elem.replaceWith(html); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   onDestroy(() => { | 
					
						
							|  |  |  |     html?.remove(); | 
					
						
							|  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2023-02-03 14:59:08 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-02-02 17:57:07 +01:00
										 |  |  | </script> | 
					
						
							| 
									
										
										
										
											2023-02-03 14:59:08 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | <span bind:this={elem} /> |