A Custom Element in Aurelia is used to extend the basic set of HTML elements by feature-enriched, reusable components. A Custom Element normally exists out of two files, a View-Model based on Javasciprt, and a corresponding view written in HTML. Both files compose the HTML element which can then be used throughout the application like every other HTML element.