All Projects → Kocisov → Crab

Kocisov / Crab

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

Programming Languages

typescript
32286 projects

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
Snuggsi
snuggsi ツ - Easy Custom Elements in ~1kB
Stars: ✭ 288 (+1209.09%)
Mutual labels:  webcomponents, custom-elements, frontend, dom
Omi
Front End Cross-Frameworks Framework - 前端跨框架跨平台框架
Stars: ✭ 12,153 (+55140.91%)
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
material-webcomponents
Material Design implemented in Web Components (Custom Elements v1)
Stars: ✭ 110 (+400%)
Mutual labels:  webcomponents, custom-elements, shadow-dom
Dna
Progressive Web Components.
Stars: ✭ 22 (+0%)
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
Chat Ui Kit React
Build your own chat UI with React components in few minutes. Chat UI Kit from chatscope is an open source UI toolkit for developing web chat applications.
Stars: ✭ 131 (+495.45%)
Mutual labels:  library, interface, frontend
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
Slim.js
Fast & Robust Front-End Micro-framework based on modern standards
Stars: ✭ 789 (+3486.36%)
Mutual labels:  library, webcomponents, 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
Riot
Simple and elegant component-based UI library
Stars: ✭ 14,596 (+66245.45%)
Mutual labels:  view, minimal, webcomponents
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
Choo
🚂🚋 - sturdy 4kb frontend framework
Stars: ✭ 6,637 (+30068.18%)
Mutual labels:  minimal, interface, dom
Framework
A modular front-end framework - inspired by the server-side and Web Components.
Stars: ✭ 448 (+1936.36%)
Mutual labels:  webcomponents, frontend
Ivi
🔥 Javascript (TypeScript) library for building web user interfaces
Stars: ✭ 445 (+1922.73%)
Mutual labels:  library, frontend
Vanilla Colorful
A tiny color picker custom element for modern web apps (2.7 KB) 🎨
Stars: ✭ 467 (+2022.73%)
Mutual labels:  webcomponents, custom-elements
Popview Android
Pop animation with circular dust effect for any view updation
Stars: ✭ 487 (+2113.64%)
Mutual labels:  library, view
Imba
🐤 The friendly full-stack language
Stars: ✭ 5,434 (+24600%)
Mutual labels:  frontend, dom

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