61 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
/*
 | 
						|
*               dotfiles - rendering.d.ts
 | 
						|
*
 | 
						|
*   Created by Janis Hutz 03/22/2025, Licensed under the GPL V3 License
 | 
						|
*           https://janishutz.com, development@janishutz.com
 | 
						|
*
 | 
						|
*
 | 
						|
*/
 | 
						|
 | 
						|
export interface UIComponent {
 | 
						|
    /**
 | 
						|
     * The title of the component (like a category name), shown above small divider line
 | 
						|
     */
 | 
						|
    title: string;
 | 
						|
 | 
						|
    /**
 | 
						|
     * ResultElement list, made up of all elements that should be shown
 | 
						|
     */
 | 
						|
    elements: ResultElement[];
 | 
						|
 | 
						|
    /**
 | 
						|
     * Choose how many elements to show before truncating (will expand when command is run)
 | 
						|
     */
 | 
						|
    truncate: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * The weight of the element (determines order)
 | 
						|
     */
 | 
						|
    weight: number;
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
export interface ResultElement {
 | 
						|
    /**
 | 
						|
     * The name of the result element
 | 
						|
     */
 | 
						|
    name: string;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Path to the image to be displayed in the UI
 | 
						|
     */
 | 
						|
    img: string;
 | 
						|
 | 
						|
    /**
 | 
						|
     * The weight of the element (determines order)
 | 
						|
     */
 | 
						|
    weight: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * The action to be executed
 | 
						|
     */
 | 
						|
    action: Action;
 | 
						|
 | 
						|
    /**
 | 
						|
     * The font size of the text (optional)
 | 
						|
     */
 | 
						|
    fontSize: number | undefined;
 | 
						|
}
 | 
						|
 | 
						|
type Action = '' | null;
 |