Coder Social home page Coder Social logo

lion's Introduction

Lion Web Components

Lion web components is a set of highly performant, accessible and flexible Web Components. They provide an unopinionated, white label layer that can be extended to your own layer of components.

For some more details see the announcement blog post.

Demos

We do have a live Storybook which shows all our components.

How to install

npm i @lion/<package-name>

Content

The accessibility column indicates whether the functionality is accessible in its core. Aspects like styling and content determine actual accessibility in usage.

Package Version Description Accessibility
-- Buttons --
button button Button ✔️
switch switch Switch ✔️
-- Forms --
form form Wrapper for multiple form elements ✔️
field field Base Class for all inputs ✔️
fieldset fieldset Group for form inputs ✔️
validate validate Validation for form components n/a
checkbox checkbox Checkbox form element ✔️
checkbox-group checkbox-group Group of checkboxes ✔️
input input Input element for strings ✔️
input-amount input-amount Input element for amounts ✔️
input-date input-date Input element for dates ✔️
input-datepicker input-datepicker Input element for dates with a datepicker ✔️
input-email input-email Input element for e-mails ✔️
input-iban input-iban Input element for IBANs ✔️
input-range input-range Input element for a range of values ✔️
radio radio Radio from element ✔️
radio-group radio-group Group of radios ✔️
select select Simple native dropdown element ✔️
textarea textarea Multiline text input ✔️
-- Overlays --
overlays overlays Overlay System ✔️
dialog dialog Dialog element ✔️
tooltip tooltip Tooltip element #175
-- Icons --
icon icon Display our svg icons #173, #172
-- Navigation --
steps steps Multi Step System n/a
tabs tBS Move between a small number of equally important views n/a
-- Others --
core core Core System (exports LitElement, lit-html) n/a
calendar calendar Standalone calendar #195, #194
localize localize Localize and translate your application/components n/a
ajax ajax Fetching data via ajax request n/a

How to use

Use a Web Component

<script type="module">
  import '@lion/input/lion-input.js';
</script>

<lion-input name="firstName"></lion-input>

Use a JavaScript system

<script type="module">
  import { ajax } from '@lion/ajax';

  ajax.get('data.json').then(response => {
    // most likely you will use response.data
  });
</script>

Extend a Web Component

import { LionInput } from '@lion/input';

class MyInput extends LionInput {}
customElements.define('my-input', MyInput);

Key Features

  • High Performance - Focused on great performance in all relevant browsers with a minimal number of dependencies
  • Accessibility - Aimed at compliance with the WCAG 2.0 AA standard to create components that are accessible for everybody
  • Flexibility - Provides solutions through Web Components and JavaScript classes which can be used, adopted and extended to fit all needs

Technologies

Lion Web Components aims to be future proof and use well-supported proven technology. The stack we have chosen should reflect this.

Rationale

We know from experience that making high quality, accessible UI components is hard and time consuming: it takes many iterations, a lot of development time and a lot of testing to get a generic component that works in every context, supports many edge cases and is accessible in all relevant screen readers.

Lion aims to do the heavy lifting for you. This means you only have to apply your own Design System: by delivering styles, configuring components and adding a minimal set of custom logic on top.

Coding guidlines

Check out our coding guidelines for more detailed information.

How to contribute

Lion Web Components are only as good as its contributions. Read our contribution guide and feel free to enhance/improve Lion. We keep feature requests closed while we're not working on them.

Contact

Feel free to create a github issue for any feedback or questions you might have. You can also find us on the Polymer slack in the #lion channel.

You can join the Polymer slack by visiting https://www.polymer-project.org/slack-invite.

Support and issues

As stated above "support and issues time" is currently rather limited: feel free to open a discussion. However, we can not guarantee any response times.

lion's People

Contributors

cublion avatar dakmor avatar danielpassionatepeople avatar demeteren avatar devcer avatar erikkroes avatar gafortuno avatar gerjanvangeest avatar hardikpthv avatar jaysunsyn avatar jcperea avatar jorenbroekema avatar larsdenbakker avatar marcosgilf avatar mario-aleo avatar mblankenstein avatar mihaisavezi avatar ovidiu1 avatar pavlokozlov avatar phasic avatar r4zorgeek avatar rodrigo-garcia-leon avatar ruphin avatar t-motion avatar thepassle avatar tlouisse avatar vicdata4 avatar vkachan avatar vrspider avatar wsloth avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.