tgui-angular
Version:
🚀 Angular UI library for Telegram Web Apps with modern components and theming support | 💼 Author is open to work opportunities | 📧 Contact: a.blagovestnov@gmail.com | 💬 Telegram: @ablagovestnov
89 lines (88 loc) • 1.84 kB
TypeScript
import { EventEmitter } from '@angular/core';
/**
* Base interface for icon components, compatible with React version
*/
export interface TguiIconProps {
/**
* CSS class to apply to the icon
*/
class?: string;
/**
* Additional styles to apply to the icon
*/
style?: {
[key: string]: string;
};
/**
* Aria label for accessibility
*/
ariaLabel?: string;
/**
* Title for the icon
*/
title?: string;
/**
* ID of the element
*/
id?: string;
/**
* Fill color of the icon
*/
fill?: string;
/**
* Stroke color of the icon
*/
stroke?: string;
/**
* Width of the icon (can be CSS units or number)
*/
width?: string | number;
/**
* Height of the icon (can be CSS units or number)
*/
height?: string | number;
/**
* Role attribute for accessibility
*/
role?: string;
/**
* Tab index for keyboard navigation
*/
tabIndex?: number;
/**
* Whether the element should get focus on load
*/
autoFocus?: boolean;
/**
* Click event handler
*/
onClick?: EventEmitter<MouseEvent>;
/**
* Focus event handler
*/
onFocus?: EventEmitter<FocusEvent>;
/**
* Blur event handler
*/
onBlur?: EventEmitter<FocusEvent>;
/**
* Mouse enter event handler
*/
onMouseEnter?: EventEmitter<MouseEvent>;
/**
* Mouse leave event handler
*/
onMouseLeave?: EventEmitter<MouseEvent>;
/**
* Key down event handler
*/
onKeyDown?: EventEmitter<KeyboardEvent>;
/**
* Pointer down event handler
*/
onPointerDown?: EventEmitter<PointerEvent>;
/**
* Pointer up event handler
*/
onPointerUp?: EventEmitter<PointerEvent>;
}