@exadel/esl
Version:
Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components
110 lines (109 loc) • 2.83 kB
CSS
:root {
--esl-slide-initial-size: 100%;
--esl-carousel-side-space: 5px;
}
esl-carousel {
position: relative;
display: block;
max-width: 100%;
box-sizing: content-box;
margin: calc(var(--esl-carousel-side-space, 0) * -1);
padding: var(--esl-carousel-side-space, 0);
/* stylelint-disable */
overflow: hidden;
overflow: clip;
/* stylelint-enable */
}
esl-carousel:not(.esl-carousel) [esl-carousel-slide] {
max-width: 100%;
max-height: 100%;
}
esl-carousel.esl-carousel-vertical {
touch-action: pan-x;
}
esl-carousel.esl-carousel-vertical [esl-carousel-slides] {
flex-direction: column;
}
esl-carousel.esl-carousel-horizontal {
touch-action: pan-y;
}
esl-carousel.esl-carousel-horizontal [esl-carousel-slides] {
flex-direction: row;
}
esl-carousel[dragging] {
cursor: grabbing;
}
esl-carousel[animating] {
padding-inline: 0;
margin-inline: 0;
}
esl-carousel[dragging] [esl-carousel-slides],
esl-carousel[animating] [esl-carousel-slides] {
user-select: none;
pointer-events: none;
}
esl-carousel[empty] {
--esl-carousel-side-space: 0;
}
esl-carousel[empty] [esl-carousel-slides] {
display: none;
}
/* Default carousel area styles */
[esl-carousel-slides] {
position: relative;
width: 100%;
margin: 0;
display: flex;
gap: 20px;
z-index: 0;
transform: translate3d(0px, 0px, 0px);
}
/* Default carousel slide styles */
[esl-carousel-slide] {
flex: 0 0 auto;
margin: 0;
padding: 0;
position: relative;
z-index: 1;
list-style: none;
}
.esl-carousel-no-extra-space {
--esl-carousel-side-space: 0;
}
.esl-carousel-default-renderer [esl-carousel-slides] {
display: flex;
flex-wrap: nowrap;
transition: none;
max-width: 100%;
max-height: 100%;
}
.esl-carousel-default-renderer.esl-carousel-horizontal [esl-carousel-slide] {
width: var(--esl-slide-size, var(--esl-slide-initial-size));
}
.esl-carousel-default-renderer.esl-carousel-vertical [esl-carousel-slide] {
height: var(--esl-slide-size, var(--esl-slide-initial-size));
}
.esl-carousel-grid-renderer {
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
}
.esl-carousel-grid-renderer [esl-carousel-slides] {
display: grid;
grid-template-rows: 1fr 1fr;
grid-auto-columns: auto;
grid-auto-flow: column;
transition: none;
max-width: 100%;
max-height: 100%;
}
.esl-carousel-grid-renderer.esl-carousel-vertical [esl-carousel-slides] {
grid-template-columns: 1fr 1fr;
grid-auto-rows: auto;
grid-auto-flow: row;
}
.esl-carousel-grid-renderer.esl-carousel-horizontal :is([esl-carousel-slide], [esl-carousel-fake-slide]) {
width: var(--esl-slide-size, --esl-slide-initial-size, 100%);
}
.esl-carousel-grid-renderer.esl-carousel-vertical :is([esl-carousel-slide], [esl-carousel-fake-slide]) {
height: var(--esl-slide-size, --esl-slide-initial-size, 100%);
}