Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

xeaone/element

Repository files navigation

X-Element

Reactivity without the complexity.

Vision

Provide a knowledge transferable future proof, reactive data binding, library for building web interfaces.

Features

  • πŸ‘Ά Simple If you know HTML, JS, and Template Literals then you know XElement.

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

  • βš› Reactive Performant and efficient two way reactive data binding.

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

Learn

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

Examples

import { html } from 'https://esm.sh/@xeaone/element/module/index.js';
let count = 0;
export default () => html`
 <strong>${() => `Hello World ${count}`}</strong>
 <button onclick=${() => count++}>Greet</button>
`(document.body);

Custom Element

import { html } from 'https://esm.sh/@xeaone/element/module/index.js';
const {html} = await import('https://esm.sh/@xeaone/element/module/index.js')
export default class extends HTMLElement {
 #root = this.attachShadow({ mode: "open" });
 #count = 0;
 #render = () => html`
 <strong>${() => `Hello World ${this.#count}`}</strong>
 <button onclick=${() => this.#count++}>Greet</button>
 `(this.#root);
 constructor() {
 super();
 this.#render();
 }
}

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.

NPM

npm install @xeaone/element

CDN

Author

xeaone

License

This project is licensed under the MPL-2.0 License

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /