Skip to content
/ element Public

X-Element a zero knowledge curve, agnostic non framework that enhances custom elements with functionality and data binding that mimics native custom element and language standards.

License

Notifications You must be signed in to change notification settings

xeaone/element

Repository files navigation

X-Element

A zero knowledge curve, agnostic non framework that enhances custom elements with functionality and data binding that mimics native custom element and language standards.

Features

  • 👶 Simple If you know HTML, JS, and Template Literals then you know how to use X-Element

  • Agnostic Use XElement with any framework or library - Lit, Vue, React, Angular.

  • Reactive Efficient two way reactive databinding by default.

  • Fast Rendering is blazing fast, because XElement only interacts with the dynamic DOM Nodes.

  • 📦 Small ~(15)KB minified.

  • 🧭 Router Client side routing using the new Navigation API

Learn

https://xeaone.github.io/element/

Example

import { component, html } from '/x-element.js';

export default class greet extends component {

    greeting = 'Default Greeting';
    greet = () => this.greeting = 'Updated Greeting';

    render = () => html`
        <h1>this.greeting</h1>
        <button onclick=${this.greet}>Greet</button>
    `;

}

Use

The two directories to use are module and bundle. Bundle includes ESNext and ES2015 js bundles. Module contains ESM files with .js, .ts, and .d.ts.

https://www.npmjs.com/package/@xeaone/element

https://esm.sh/@xeaone/element/module/index.ts https://esm.sh/@xeaone/element/module/index.js

https://cdn.jsdelivr.net/gh/xeaone/element/module/index.ts https://cdn.jsdelivr.net/gh/xeaone/element/module/index.js

Author

xeaone

License

This project is licensed under the MPL-2.0 License