UNPKG

@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
: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%); }