UNPKG

@exadel/esl

Version:

Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components

88 lines (75 loc) 1.59 kB
:root { --esl-slide-initial-size: 100%; --esl-carousel-side-space: 5px; --esl-carousel-step-duration: 250ms; } // CORE styles esl-carousel { position: relative; display: block; max-width: 100%; // Important to ignore padding/margin hack box-sizing: content-box; margin: calc(var(--esl-carousel-side-space, 0) * -1); padding: var(--esl-carousel-side-space, 0); /* stylelint-disable */ overflow: hidden; // Fallback overflow: clip; /* stylelint-enable */ &:not(.esl-carousel) [esl-carousel-slide] { max-width: 100%; max-height: 100%; } &.esl-carousel-vertical { [esl-carousel-slides] { flex-direction: column; } touch-action: pan-x; } &.esl-carousel-horizontal { [esl-carousel-slides] { flex-direction: row; } touch-action: pan-y; } &[dragging] { cursor: grabbing; } &[animating] { padding-inline: 0; margin-inline: 0; } &[dragging] [esl-carousel-slides], &[animating] [esl-carousel-slides] { user-select: none; pointer-events: none; } &[empty] { --esl-carousel-side-space: 0; [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; }