UNPKG

@ryusei/light

Version:

<div align="center"> <a href="https://light.ryuseijs.com"> <img alt="RyuseiLight" src="https://light.ryuseijs.com/images/svg/logo.svg" width="70"> </a>

29 lines (23 loc) 624 B
import { append } from '../append/append'; import { addClass } from '../addClass/addClass'; /** * Creates an HTML element. * * @param tag - A tag name. * @param classes - Optional. Classes to add. * @param parent - Optional. A parent element where the created element is appended. */ export function create<K extends keyof HTMLElementTagNameMap>( tag: K, classes?: string | string[], parent?: HTMLElement ): HTMLElementTagNameMap[ K ] { const elm = document.createElement( tag ); if ( classes ) { addClass( elm, classes ); } if ( parent ) { append( parent, elm ); } return elm; }