UNPKG

@exadel/esl

Version:

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

82 lines (65 loc) 1.56 kB
/** Nav control mixin defaults */ [esl-carousel-nav]:not([active]) { display: none; } [esl-carousel-nav][disabled] { pointer-events: none; } :root { // variable to make clickable area larger --esl-carousel-arrow-size: 40px; --esl-carousel-arrow-padding: 0px; --esl-carousel-arrow-bg: grey; } /** Arrow navigation styles */ .esl-carousel-nav-container { position: relative; /* stylelint-disable-next-line */ --esl-carousel-arrow-offset: calc((var(--esl-carousel-arrow-size) + var(--esl-carousel-arrow-padding) + var(--esl-carousel-side-space)) * -1); } .esl-carousel-arrow { position: absolute; z-index: 3; top: 50%; transform: translateY(-50%); padding: var(--esl-carousel-arrow-padding); display: grid; place-content: center; background: none; border: none; cursor: pointer; appearance: none; filter: drop-shadow(0 0 4px var(--esl-carousel-arrow-bg)); opacity: 0.75; &:hover { opacity: 1; } &[disabled] { opacity: 0.25; } } // Positioning .esl-carousel-arrow.prev { left: var(--esl-carousel-arrow-offset); &.inner { left: 0; } } .esl-carousel-arrow.next { right: var(--esl-carousel-arrow-offset); &.inner { right: 0; } } // Arrow icon .esl-carousel-arrow::before { content: ''; display: block; width: var(--esl-carousel-arrow-size); height: var(--esl-carousel-arrow-size); background: var(--esl-carousel-arrow-bg); clip-path: polygon(20% 50%, 70% 0%, 80% 5%, 35% 50%, 80% 95%, 70% 100%); } .esl-carousel-arrow.next::before { transform: scaleX(-1); }