Repository
Current version released
3 years ago
Versions
- v2.0.2Latest
- v2.0.1
- v2.0.0
- v2.0.0-rc.14
- v2.0.0-rc.13
- v2.0.0-rc.12
- v2.0.0-rc.11
- v2.0.0-rc.10
- v2.0.0-rc.9
- v2.0.0-rc.8
- v2.0.0-rc.7
- v2.0.0-rc.6
- v2.0.0-rc.5
- v2.0.0-rc.4
- v2.0.0-rc.3
- v2.0.0-rc.2
- v2.0.0-rc.1
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.0
- v1.0.0-rc.59
- v1.0.0-rc.58
- v1.0.0-rc.57
- v1.0.0-rc.56
- v1.0.0-rc.55
- v1.0.0-rc.54
- v1.0.0-rc.53
- v1.0.0-rc.52
- v1.0.0-rc.51
x-element
_________
/ /__ __\ \
/ / \ \ / \ \
\ \ /_\_\ / /
\_\_____/_/
A dead simple starting point for custom elements. It provides the following functionality:
- Efficient element generation and data binding via default templating engine
- ā¦or drop in an engine of your choice (e.g., lit-html)
- Automatic
.propertyto[attribute]reflection (opt-in) - Automatic
[attribute]to.propertysynchronization (one-directional, on connected) - Simple and efficient property observation and computation
- Simple delegated event handling
- Useful error messages
Installation:
curl https://raw.githubusercontent.com/Netflix/x-element/main/x-element.js > x-element.jsā¦or if youāre fancy:
yarn add @netflix/x-elementor
npm install @netflix/x-elementor
import XElement from 'https://deno.land/x/element/x-element.js';Project Philosophy:
- No compilation step is necessary for adoption, just import
x-element.js - Implement a minimal set of generalized functionality
- Make as few design decisions as possible
- Presume adopters are browser experts already, donāt get in their way
- Follow the web platform precedents whenever possible
- Remain compatible with any browser which fully supports custom elements
- Prioritize simple syntax and useful comments in the code itself
- Zero dependencies
Development:
yarn install && yarn startThenā¦
- http://localhost:8080/demo
- http://localhost:8080/demo/chess
- http://localhost:8080/demo/lit-html
- http://localhost:8080/demo/uhtml
- http://localhost:8080/demo/react
- http://localhost:8080/test
(See SPEC.md for more details.)