UNPKG

@penaprieto/design-system

Version:

Multi-brand React design system with design tokens from Figma

99 lines (86 loc) 1.95 kB
/* Base Carousel */ .ds-carousel { position: relative; width: 100%; overflow: hidden; -webkit-font-smoothing: antialiased; } /* Viewport */ .ds-carousel__viewport { position: relative; width: 100%; overflow: hidden; } /* Track */ .ds-carousel__track { display: flex; width: 100%; } /* Slide */ .ds-carousel__slide { flex: 0 0 100%; width: 100%; } /* Controls */ .ds-carousel__control { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; background-color: var(--semantic-bg-surface-default); border: 1px solid var(--semantic-border-default-default); border-radius: var(--br-full, 9999px); box-shadow: var(--semantic-elevation-elevation1); cursor: pointer; transition: all 0.2s ease-in-out; } .ds-carousel__control:hover:not(:disabled) { background-color: var(--dropdown-bg-hover); box-shadow: var(--semantic-elevation-elevation2); } .ds-carousel__control:disabled { opacity: 0.5; cursor: not-allowed; } .ds-carousel__control--prev { left: var(--size3, 12px); } .ds-carousel__control--next { right: var(--size3, 12px); } /* Indicators */ .ds-carousel__indicators { position: absolute; bottom: var(--size3, 12px); left: 50%; transform: translateX(-50%); z-index: 10; display: flex; gap: var(--size2, 8px); padding: var(--size2, 8px) var(--size3, 12px); background-color: rgba(0, 0, 0, 0.5); border-radius: var(--br-full, 9999px); } .ds-carousel__indicator { width: 8px; height: 8px; padding: 0; background-color: rgba(255, 255, 255, 0.5); border: none; border-radius: var(--br-full, 9999px); cursor: pointer; transition: all 0.2s ease-in-out; } .ds-carousel__indicator:hover { background-color: rgba(255, 255, 255, 0.8); } .ds-carousel__indicator--active { width: 24px; background-color: rgba(255, 255, 255, 1); }