UNPKG

ziko

Version:

a versatile javaScript framework offering a rich set of UI components, advanced mathematical utilities, reactivity, animations, client side routing and graphics capabilities

43 lines (37 loc) 955 B
import ZikoUIElement from "../../constructors/ziko-ui-element.js"; const elements = ['Main', 'Header', 'Nav', 'Section', 'Article', 'Aside', 'Footer'] // Storage for Classes and component functions const Classes = {}; const Components = {}; // Auto-generate Classes and factory functions for (let i=0; i<elements.length; i++) { Classes[`ZikoUI${elements[i]}`] = class extends ZikoUIElement { constructor() { super(elements[i].toLowerCase()); this.style({ position: "relative" }); } get [`is${elements[i]}`]() { return true; } }; Components[elements[i]] = (...children) => new Classes[`ZikoUI${elements[i]}`]().append(...children); } export const { Main, Header, Nav, Section, Article, Aside, Footer } = Components; export const { ZikoUIMain, ZikoUIHeader, ZikoUINav, ZikoUISection, ZikoUIArticle, ZikoUIAside, ZikoUIFooter } = Classes;