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.10.0 new
ESL v5.10.0 is now available!
This release introduces the new
esl-line-clamp
mixin, providing a clean solution for limiting text content within blocks. We've enhanced event handling with improved type support inESLEventUtils
and expanded our TypeScript utilities for better development experience. The update also includes important fixes foresl-carousel
wheel event handling and resolves missing event type definitions for custom event targets. Additionally, we've updated our stylelint plugin dependency to version 4.0.0, which now requires stylelint 16.22.0 or higher for improved styling capabilities. -
ESL v5.9.0 new
We’ve just released ESL v5.9.0! Here’s a quick summary of what’s new:
- Improved
esl-carousel
: reworked state API, enhanced and reworked navigation syntax. - Introduced basic support for free-mode carousels with new public property
offset
andmove
event. - Added viewport visibility control for the
esl-carousel-autoplay
plugin. - Fix
esl-carousel-relate-to
to follow the initial spec (plugin now out of beta). - Extended
esl-carousel-wheel
to work with free-mode carousels. - Enhanced and fixed
play-in-viewport
inesl-media
to work properly with a stopped video. esl-trigger
now stops handledclick
andkeydown
events from bubbling by default.
- Improved
-
ESL v5.8.0
This update adds built-in support for the no-target attribute in
esl-tab
andesl-trigger
, which now hide inactive elements by default. We’ve also introduced the publicESL.version
property for easier diagnostics and tooling (make sure to includelib.ts
to access it). Theesl-carousel
received several updates: a more consistent rendering flow, extended proactive event handling, and improved support for dynamiccontainer-class
behaviors via theesl-carousel-class-behavior
plugin. -
ESL v5.7.0
ESL v5.7.0 is here!
This release introduces dynamic media condition support in
ESLMediaQuery
via the newESLMediaShortcuts
registry — allowing components to react to changing custom parameters in real time. AsESLMediaQuery
powers nearly all ESL components, this unlocks more flexible and expressive behavior across the board. The update also includes minor stability fixes foresl-carousel
, improving navigation logic and error handling. -
ESL v5.6.0
This release includes further improvements to the
ESLCarousel
CSS renderer. It now uses a grid layout out of the box, eliminating the need for auto-height calculations.This is a major change in CSS Renderer, so the update has been released under a minor version bump.
-
ESL v5.5.0
The ESL Release v5.5.0 is now available on NPM.
This release introduces important new features for the ESL Carousel, including full support for the autoplay plugin and a new CSS renderer implementation that widens capabilities and rendering flexibility. Several bug fixes improve carousel plugins behavior,
esl-animate
repeat option handling, and time parsing.