Exadel Smart Library
UI component library with flair and precision
ESL is an open-source web components library that helps developers create modern-looking, effective, and user-friendly interfaces faster.
Why the ESL Web Components Library?
- Efficient
Our library reduces the work needed to create reusable UI components by giving you a reliable base to customize and expand on for fast and accurate development.
- Fast
With ESL, there’s no need to write lengthy markup — the reusable elements in our UI component library are small, but they’re designed to be the optimal building blocks for your content.
- Light
We specifically designed our reusable web components to work quickly and efficiently in browsers, cutting out the unnecessary code that takes a toll on user experience.
- Powerful
While the modules in our web components library may be small, they’re also universal, allowing you to mix and match the UI components at will to create large modules.
- Tested
We covered all of our utilities with unit tests to make ESL the best front end component library, which means every new addition works just as expected.
- Versatile
Our UI component library doesn't introduce any additional restrictions — only benefits, as it offers utilities and framework-agnostic web components that work with any tech stack.
Browser Support
Our web components library uses built-in browser functionality — Web API and ECMAScript 6 features that are fully supported by modern browsers such as Chrome, Firefox, Safari, or Edge.
If you want our UI component library to work in older browsers, you can use one of the polyfill lists — "light" or "full."
Let's Get Started
Join the array of consumers who successfully use our UI component library. ESL brings to you a number of ultra-light reusable UI components to create unique layouts and utilities to improve the development experience.
Our News
-
⚡ESL v5.0.0 is out!⚡ (Migration Guide for ESL v4.*.*) new
The ESL version 5.0.0 has just been released and comes with a lot of new features and improvements. This guide will help you to migrate your existing ESL v4.*.* project to ESL v5.0.0. Preparation We recommend that you consider using the ESL ESLint... -
[Site 🌐] Note esl-ui.com is under update for ESL v5.0.0 new
Howevever, the we already are pleasued to present third level navigation, inital doc, blogs sections and updated examples. We will keep you posted on the progress. Stay tuned! 🚀
-
ESL v4.18.0
ESL version 4.18.0 (support release) is now available on NPM.
This release includes a few important updates and fixes:
- Major bugfix in ESLMixinElement livecycle (fixes issues with disconnection call for mixins in DOM subtree).
- Deprecation and support migration rule for
ESLMediaRuleLIst.parse
method. It is going to be reintroduced in ESL v5.0.0 with a new signature and functionality.
-
ESL v5.0.0 Preparation
ESL version 5.0.0 is coming soon. This major release will bring many changes and improvements. We strongly recommend to setup ESL ESLint Plugin (
@exadel/eslint-plugin-esl
) in advance to make the migration process smooth, safe, and simple. -
ESL v4.17.0
ESL version 4.17.0 is now available on NPM. It's probably the last minor release before 5.0.0. Explore the latest fixes and enhancements:
-
Major enhancements to
ESLEventListener
:- Added a group key to process batch subscription operations.
- Reworked the event listener system to provide more accurate and strict warnings.
- Added separate intersection in/out events.
- Fixed issues with re-subscription when a
condition
is used. - Improved types and documentation.
-
Updates to
ESLMedia
:- Support for initial position (start time).
- Decreased tolerance for
play-in-viewport
to 50%. - Fixed the YouTube video
seekTo
method.
-
Added ESLPopup refresh event handler and fixed the possibility to set
offset-arrow
to 0. -
Added the ability to reject promisifyEvent using
AbortSignal
. -
Fixed the initial
ESLPanel
animation state markers. -
Added provider function support for the
@prop
decorator. -
Extended ESL ESLint Plugin rules with checks for deprecated import paths.
-
Small fixes in
ESLAnimateMixin
(attribute observation) and ESL Utils (signatures and types).
-
-
ESL v4.16.0
We are delighted to announce the release of ESL version
v4.16.0
. With this release, we are continuing to implement changes originally planned for version 5, and include them into the 4th stable version.Here is the list of changes:
- Scroll-aware event handling for
ESLEventListener
swipe
andlongwheel
targets. Now you can easily omitswipe
andlongwheel
events in case of content scrolling. - Introducing the
ESLBaseTrigger
class in theesl-trigger
module to simplify and make Trigger-Toggleable relationship more clear and straightforward. - New possibilities for the
attr
decorator. Now you can use providers to set default values and theinherit
option to inherit the value of declared attributes from DOM parents. - Bug fixes and improvements in the ESLShare module (update config method, migration to
ESLBaseTrigger
, etc.). - Bug fixes for the
microtask
utility andESLEventListener
support for any object-like host.
- Scroll-aware event handling for