All Projects → defx → Synergy

defx / Synergy

Licence: mit
Synergy is a tiny runtime library for building web user interfaces

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Synergy

inclusive-elements
Accessible, lightweight, unstyled implementations of common UI controls.
Stars: ✭ 17 (-94.26%)
Mutual labels:  web-components, custom-elements
anywhere-webcomponents
A UI work in progress based on custom elements (web components) for use in anywhere.
Stars: ✭ 17 (-94.26%)
Mutual labels:  web-components, custom-elements
toggle-icon
toggle-icon is a custom element created with Polymer. It provides an extremely powerful and customizable switch that looks like a paper-icon-button.
Stars: ✭ 21 (-92.91%)
Mutual labels:  web-components, custom-elements
11ty-web-component-generator
Use the power of 11ty to generate web components (custom elements).
Stars: ✭ 51 (-82.77%)
Mutual labels:  web-components, custom-elements
custom-elements-manifest
Custom Elements Manifest is a file format that describes custom elements in your project.
Stars: ✭ 81 (-72.64%)
Mutual labels:  web-components, custom-elements
lit-components
Moved to https://github.com/vaadin/component-mixins
Stars: ✭ 59 (-80.07%)
Mutual labels:  web-components, custom-elements
vue-custom-element
Vue Custom Element - Web Components' Custom Elements for Vue.js
Stars: ✭ 1,886 (+537.16%)
Mutual labels:  web-components, custom-elements
element
Fast and simple custom elements.
Stars: ✭ 65 (-78.04%)
Mutual labels:  web-components, custom-elements
cwco
Powerful and Fast Web Component Library with a Simple API
Stars: ✭ 27 (-90.88%)
Mutual labels:  web-components, custom-elements
ascii-image
Web Component that displays an image as ASCII art
Stars: ✭ 15 (-94.93%)
Mutual labels:  web-components, custom-elements
svelte-webcomponents
A ready-to-use project template to build custom elements (web components) with Svelte 3 with support and examples for web components, jest, sass, nested components with props, eslinting, stylelinting, Github actions, propagating custom events from shadow-DOM to real-DOM etc.
Stars: ✭ 22 (-92.57%)
Mutual labels:  web-components, custom-elements
Weightless
High-quality web components with a small footprint
Stars: ✭ 284 (-4.05%)
Mutual labels:  web-components, custom-elements
focus-trap
A lightweight web component that traps focus within a DOM node
Stars: ✭ 44 (-85.14%)
Mutual labels:  web-components, custom-elements
g-emoji-element
Backports native emoji characters to browsers that don't support them by replacing the characters with fallback images.
Stars: ✭ 112 (-62.16%)
Mutual labels:  web-components, custom-elements
lego
🚀 Web-components made lightweight & Future-Proof.
Stars: ✭ 69 (-76.69%)
Mutual labels:  web-components, custom-elements
typing-effect-element
A custom element that shows text as if it were being typed
Stars: ✭ 81 (-72.64%)
Mutual labels:  web-components, custom-elements
range-slider-element
🍬 <range-slider> custom element
Stars: ✭ 45 (-84.8%)
Mutual labels:  web-components, custom-elements
file-attachment-element
Attach files via drag and drop or file input.
Stars: ✭ 97 (-67.23%)
Mutual labels:  web-components, custom-elements
custom-element-boilerplate
Boilerplate for creating a custom element.
Stars: ✭ 137 (-53.72%)
Mutual labels:  web-components, custom-elements
bui
‹b› Web components for creating applications – built by Blackstone Publishing using lit-html and lit-element
Stars: ✭ 29 (-90.2%)
Mutual labels:  web-components, custom-elements

synergy

npm Build Status Coverage Status gzip size

Synergy is a tiny runtime library for building web user interfaces

Features

  • Simple templates for declarative data & event binding
  • Reactive data bindings update your view efficiently and automatically
  • Full component workflow using standard Web Components
  • Small footprint (~4k)
  • No special tooling required (e.g., compilers, plugins)
  • Minimal learning curve (almost entirely standard HTML, JS, and CSS!)
  • Seamless pre-rendering & hydration for great performance and SEO

Learn how to use Synergy in your own project.

Browser Support

Works in any modern browser that supports JavaScript Proxy.

Installation

Synergy doesn't require any special toolchain, compiler, plugins etc. Its a tiny (~4k) package that gives you everything you need to start building directly in the browser.

The quickest way to get started is to import the Synergy package directly from a CDN.

Unpkg CDN

<script type="module">
  import { define } from 'https://unpkg.com/synergy';
</script>

You can also install directly into your project using NPM.

NPM

$ npm i synergy

Documentation

You can find the Synergy documentation on the website.

Example

Step 1. Define your custom element

<script type="module">
  import { define } from 'https://unpkg.com/synergy';

  define('hello-world', ({ name }) => ({ name }));
</script>
<template id="hello-world">
  <p>Hello {{ name }}</p>
</template>

Step 2. Use the custom element

<hello-world name="kimberley"></hello-world>

This example will render "Hello Kimberley" into a container on the page.

You'll notice that everything here is valid HTML and JS, and you can copy and paste this example and run it directly in the browser with no need to compile or install anything special to make it work.

License

Synergy is MIT licensed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].