All Projects → kocisov → crab

kocisov / crab

Licence: other
JavaScript library for building user interfaces with Custom Elements, Shadow DOM and React like API

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to crab

Crab
JavaScript library for building user interfaces with Custom Elements, Shadow DOM and React like API
Stars: ✭ 22 (+0%)
Mutual labels:  webcomponents, dom, minimal, interface, view, custom-elements, shadow-dom
modulor-html
Missing template engine for Web Components
Stars: ✭ 36 (+63.64%)
Mutual labels:  webcomponents, dom, custom-elements
lego
🚀 Web-components made lightweight & Future-Proof.
Stars: ✭ 69 (+213.64%)
Mutual labels:  webcomponents, dom, custom-elements
Snuggsi
snuggsi ツ - Easy Custom Elements in ~1kB
Stars: ✭ 288 (+1209.09%)
Mutual labels:  webcomponents, dom, custom-elements
Choo
🚂🚋 - sturdy 4kb frontend framework
Stars: ✭ 6,637 (+30068.18%)
Mutual labels:  dom, minimal, interface
Riot
Simple and elegant component-based UI library
Stars: ✭ 14,596 (+66245.45%)
Mutual labels:  webcomponents, minimal, view
Switzerland
🇨🇭Switzerland takes a functional approach to Web Components by applying middleware to your components. Supports Redux, attribute mutations, CSS variables, React-esque setState/state, etc… out-of-the-box, along with Shadow DOM for style encapsulation and Custom Elements for interoperability.
Stars: ✭ 261 (+1086.36%)
Mutual labels:  webcomponents, custom-elements, shadow-dom
material-webcomponents
Material Design implemented in Web Components (Custom Elements v1)
Stars: ✭ 110 (+400%)
Mutual labels:  webcomponents, custom-elements, shadow-dom
Custom Element
A base class for Web Components (Custom Elements) which provides simple data binding.
Stars: ✭ 60 (+172.73%)
Mutual labels:  webcomponents, custom-elements, shadow-dom
Dna
Progressive Web Components.
Stars: ✭ 22 (+0%)
Mutual labels:  webcomponents, custom-elements, shadow-dom
Omi
Front End Cross-Frameworks Framework - 前端跨框架跨平台框架
Stars: ✭ 12,153 (+55140.91%)
Mutual labels:  webcomponents, custom-elements, shadow-dom
Nutmeg
Build, test, and publish vanilla Web Components with a little spice
Stars: ✭ 111 (+404.55%)
Mutual labels:  webcomponents, custom-elements, shadow-dom
Hybrids
Extraordinary JavaScript framework with unique declarative and functional architecture
Stars: ✭ 2,529 (+11395.45%)
Mutual labels:  webcomponents, custom-elements, shadow-dom
web-components
A set of high-quality standards based web components for enterprise web applications. Part of Vaadin 20+
Stars: ✭ 322 (+1363.64%)
Mutual labels:  webcomponents, custom-elements
symbiote.js
Simple, light and very powerful library to create embedded components for any purpose, with a data flow management included.
Stars: ✭ 40 (+81.82%)
Mutual labels:  webcomponents, custom-elements
Web-Map-Custom-Element
A custom <mapml-viewer> and <layer-> element suite
Stars: ✭ 49 (+122.73%)
Mutual labels:  dom, custom-elements
Ioing
Implement the solutions of performance improvement and componentization for your SPA (single page application) products with this Progressive Web App Development Engine.
Stars: ✭ 224 (+918.18%)
Mutual labels:  webcomponents, shadow-dom
pattern-library
AXA CH UI component library. Please share, comment, create issues and work with us!
Stars: ✭ 103 (+368.18%)
Mutual labels:  webcomponents, custom-elements
aurum
Fast and concise declarative DOM rendering library for javascript
Stars: ✭ 17 (-22.73%)
Mutual labels:  webcomponents, dom
api-viewer-element
API documentation and live playground for Web Components. Based on Custom Elements Manifest format
Stars: ✭ 222 (+909.09%)
Mutual labels:  webcomponents, custom-elements

JavaScript library for building user interfaces with Custom Elements, Shadow DOM and React like API.

npm Code Climate

This version of Crab was written in TypeScript to include Types for your development

How does it look

import { Component, defineComponents, render } from '@kocisov/crab'

export default class Header extends Component {
  // or Polymer like => static get is()
  static get componentName() {
    return 'header-component'
  }

  state = {
    id: 'Some string...',
  }

  changeState() {
    this.setState({
      id: uuid.v4(),
    })
  }

  render() {
    return `
      <div class="flex-right">
        Hello ${this.state.id}
      </li>
    `
  }
}

defineComponents([Header, SmallButon], { crabug: true })

render(
  `
    <header-component onClick="changeState"></header-component>
  `,
  `
    body {
      margin: 0;
    }
  `,
  document.getElementById('root'),
)

Installation

This version of Crab is compiling from ES2015+ to ES5 ready even without native-shim.

Install crab with package manager
# yarn
yarn add @kocisov/crab

# npm
npm install --save @kocisov/crab
Include crab into your code
// webpack with babel
import { Component, defineComponents, render } from '@kocisov/crab'

// ...

render(
  `
    <view-layout></view-layout>
  `,
  document.getElementById('root'),
)

Docs

Work in progress at docs.

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].