All Projects → exadel-inc → esl

exadel-inc / esl

Licence: MIT license
Lightweight and flexible UI component library based on web components technology for creating basic UX modules

Programming Languages

typescript
32286 projects
Nunjucks
165 projects
Less
1899 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to esl

CalDOM
An agnostic, reactive & minimalist (3kb) JavaScript UI library with direct access to native DOM.
Stars: ✭ 176 (+232.08%)
Mutual labels:  lightweight, web-components, custom-elements
smart-webcomponents-community
Material & Bootstrap Web Components built with Smart
Stars: ✭ 30 (-43.4%)
Mutual labels:  web-components, tabs, custom-elements
Core Components
Accessible and lightweight Javascript components
Stars: ✭ 85 (+60.38%)
Mutual labels:  lightweight, accordion, tabs
neon
Neon is a modern VueJS design library built with Typescript and SASS
Stars: ✭ 19 (-64.15%)
Mutual labels:  lightweight, component-library
Progressive Image Element
⚡️ <progressive-image> custom element
Stars: ✭ 231 (+335.85%)
Mutual labels:  web-components, custom-elements
Ajax Form
HTML forms on performance-enhancing drugs
Stars: ✭ 232 (+337.74%)
Mutual labels:  web-components, custom-elements
Server Components
🔧 A simple, lightweight tool for composable HTML rendering in Node.js, based on web components.
Stars: ✭ 212 (+300%)
Mutual labels:  web-components, custom-elements
Dom99
Extend html with directives
Stars: ✭ 37 (-30.19%)
Mutual labels:  lightweight, custom-elements
Oio Sds
High Performance Software-Defined Object Storage for Big Data and AI, that supports Amazon S3 and Openstack Swift
Stars: ✭ 465 (+777.36%)
Mutual labels:  lightweight, flexible
Cms
GleezCMS - A Light, Simple, Flexible Content Management System
Stars: ✭ 200 (+277.36%)
Mutual labels:  lightweight, flexible
wui
Collection of GUI widgets for the web
Stars: ✭ 44 (-16.98%)
Mutual labels:  lightweight, tabs
react-responsive-tabs
React responsive tabs http://maslianok.github.io/react-responsive-tabs/
Stars: ✭ 118 (+122.64%)
Mutual labels:  accordion, tabs
Elements
Lazy load Angular Elements (or any other web components / custom elements ) with ease!
Stars: ✭ 223 (+320.75%)
Mutual labels:  web-components, custom-elements
Auto Complete Element
Auto-complete input values from server search results.
Stars: ✭ 213 (+301.89%)
Mutual labels:  web-components, custom-elements
Tab Container Element
An accessible tab container element with keyboard support.
Stars: ✭ 238 (+349.06%)
Mutual labels:  web-components, custom-elements
Preact Custom Element
Wrap your component up as a custom element
Stars: ✭ 212 (+300%)
Mutual labels:  web-components, custom-elements
Shadow Dom In Depth
Everything you need to know about Shadow DOM
Stars: ✭ 191 (+260.38%)
Mutual labels:  web-components, custom-elements
Clipboard Copy Element
Copy element text content or input values to the clipboard.
Stars: ✭ 198 (+273.58%)
Mutual labels:  web-components, custom-elements
web-components
A set of high-quality standards based web components for enterprise web applications. Part of Vaadin 20+
Stars: ✭ 322 (+507.55%)
Mutual labels:  web-components, custom-elements
page-title
A Polymer element for easily updating a webpage's title, such as in a SPA.
Stars: ✭ 13 (-75.47%)
Mutual labels:  web-components, custom-elements

Exadel Smart Library

npm npm Downloads version build License

Exadel Smart Library (ESL) is an open-source lightweight and flexible UI component library based on web components. Increase your site’s performance by building UX models with custom components from our library. The ESL web UI components library is compatible with any framework, which makes ESL ideal for projects regardless of their tech stack.

Visit our UI component library website with examples

Check out our UI component library and support it with a star

Overview

Exadel Smart Library, or ESL for short, is a free web UI components library that reduces routine tasks and lets you efficiently create websites with multiple web components at hand. When you’re deciding which is the best UI component library for your site, keep in mind that it should be compatible with other libraries and frameworks — like ESL is!

ESL UI component library allows you to access a toolkit full of reusable components. You can utilize these web components to complement projects or build your infrastructure from the ground up using ESL alone. Our web UI components library is high-quality, so the only thing you’ll have to focus on is applying styles to meet your project needs.

ESL is based solely on Web API and ECMAScript 6 features, which let our web UI components library work well across all modern browsers such as Firefox, Chrome, Safari, Opera, and Edge. ESL can also work on IE11 when the whole list of polyfills is provided (see Browser support & Polyfills for more details)

Library Structure

While building the UI component library, we included components, form components, and utilities that solve complex project architecture problems and comply with the DRY principle. See the rundown of web components and read the specs.

Library Core

With our UI component library, you get flexible syntax sugar meant for building on top of basic components and controlling their life cycle.

Components

Our HTML UI component library provides you with all the elements you’ll need to construct UX modules with excellent performance.


Installation Guide

  1. Preconditions:

    • Make sure you have all needed polyfills to support browsers from your browser-support list. See Browser support & Polyfills for details.
    • Use bundler to build your project. Currently, only ES6 modules are available for consumption.
  2. Install esl npm dependency:

    npm i @exadel/esl --save
    
  3. Import Components/Modules you need:

    import '@exadel/esl/modules/esl-component/core';
    • core module entry usually represents main part of the module;
    • include optional sub-features directly. See component's documentation for details.
    import '@exadel/esl/modules/esl-media/providers/iframe-provider';
    • Some modules contain cumulative all entries.
    • Styles are distributed in two versions:
      • 'ready to use' core.css or core.less
      • mixin version core.mixin.less for custom tagname definition
  4. [Optional] Setup environment configuration, e.g. custom screen breakpoints:

    import {ESLScreenBreakpoints} from '@exadel/esl/modules/esl-media-query/core';
    
    // define XS screen breakpoint for up to 800px screen width
    ESLScreenBreakpoints.addCustomBreakpoint('XS', 1, 800); 
  5. Register web components via register static method call:

    ESLImage.register();

    You can pass custom tag name to 'register' function, but use this option only in an exceptional situation.


Roadmap

  • ESL Carousel component (v4.1.0)
  • Migration to multi-package structure (v5.0.0)
  • Demo pages UI Playground integration
  • A stable version of ESL Footnotes and ESL Popup components
  • Interactive Documentation and more demo site features
  • Sharable assets from the demo site (styles components)
  • Extension of esl-form elements (custom form base, helpers, validation and more)
  • More components in the library


Development Information for Contributors

If you are part of ESL team or want to contribute to the project, you can find useful information about the project processes and agreements here:


ESL Core Team

People who architect, maintain, and keep the idea of the ESL


Alexey Stsefanovich

Julia Murashko

Yuliya Adamskaya

Dmytro Shovchko

Anna Barmina

Anastasiya Lesun

ESL Contributors:

People who are actively contributing to the ESL


Anna-Mariia Petryk

Developer

Feoktyst Shovchko

Developer

Natallia Harshunova

Developer

Yana Bernatskaya

Developer

Natalie Smirnova

Developer

Iryna Pavlenko

Designer

Aliaksandr Auseyeu

Consultant

Andrey Belous

Consultant

Dzianis Mantsevich

Consultant

Liubou Masiuk

Consultant

Exadel, Inc.

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