sling-framework

1.12.5 • Public • Published

Sling Framework

The Sling Framework provides the building blocks to create Sling-based web components.

Usage

import { SlingElement, html } from 'sling-framework';

export const StarRating = (Base = class {}) => class extends Base {
  static get properties() {
    return {
      rate: {
        type: Number,
        reflectToAttribute: true,
      },
    };
  }

  render() {
    return html`
      <style>
        button { color: grey; border: none; font-size: 32px; }
        button.selected { color: gold; }
      </style>
      ${[1, 2, 3, 4, 5].map(index => html`
        <button className="${index <= this.rate ? ' selected' : ''}"></button>
      `)}
    `;
  }
}

customElements.define('star-rating', StarRating(SlingElement));

More examples can be found at:

SlingElement

A class based on Google's LitElement that provides attribute/property handling and reflecting.

html

A tagged template literal utility from lit-html that provides an expressive API to dynamically generate html that reacts effectively to the component's state.

withRequest

A decorator that exposes methods, properties and events for handling API requests.

withSetState

A decorator that exposes a method that changes the component state in a functional way.

Readme

Keywords

none

Package Sidebar

Install

npm i sling-framework

Weekly Downloads

20

Version

1.12.5

License

none

Unpacked Size

1.29 MB

Total Files

123

Last publish

Collaborators

  • sling-web