UNPKG

@kubit-ui-web/react-components

Version:

Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience

143 lines (140 loc) 4.63 kB
import styled, { css } from 'styled-components'; import { getStyles } from '../../utils/getStyles/getStyles'; import { CarouselArrowStateType } from './types/state'; export const RootStyled = styled.article ` display: flex; flex-direction: column; align-items: center; ${({ styles }) => getStyles(styles.container)}; ${({ allowModifySliceWidth }) => allowModifySliceWidth && css ` width: 100%; `}; `; export const ArrowAndCarouselWrapperStyled = styled.div ` display: flex; flex-direction: row; align-items: center; position: relative; ${({ styles }) => getStyles(styles.arrowAndCarouselContainer)}; ${({ allowModifySliceWidth }) => allowModifySliceWidth && css ` width: 100%; `}; `; export const CarouselContainerStyled = styled.div ` overflow: hidden; position: relative; width: 0px; &:focus-visible { outline-color: transparent; } ${({ styles }) => getStyles(styles.carouselContainer)}; `; export const CarouselContentStyled = styled.div ` position: relative; left: 0; display: flex; flex-direction: row; align-items: stretch; > * { flex-shrink: 0; } cursor: ${({ disableSwipe }) => (!disableSwipe ? 'grab' : 'default')}; :active { cursor: ${({ disableSwipe }) => (!disableSwipe ? 'grabbing' : 'default')}; } &.shifting { transition: left 0.5s ease-out; } ${({ centerMode }) => centerMode && css ` > * { transform: scale(0.85); transition: transform 0.5s ease-out; &.highlight { transform: scale(1); } } `}; ${({ styles }) => getStyles(styles.content)}; `; export const ExtraPaddingArrowStyled = styled.button ` cursor: pointer; position: absolute; top: 0; bottom: 0; ${({ styles, extraPadding, right }) => css ` width: calc(${extraPadding}px - ${styles.content?.gap || '0px'}); right: ${right ? 0 : undefined}; left: ${right ? undefined : 0}; `} `; export const PageControlContainerStyled = styled.div ` ${({ styles }) => getStyles(styles.pageControlContainer)}; `; export const PageControlAutomateContainerStyled = styled.div ` display: flex; justify-content: center; width: 100%; ${({ styles }) => getStyles(styles.pageControlAutomateContainer)}; `; export const ArrowLeftIconContainer = styled.div ` > button { position: absolute; top: 0; ${({ styles }) => getStyles(styles[CarouselArrowStateType.DEFAULT]?.arrowLeftIconButtonContainer)}; &:focus { ${props => getStyles(props.styles[CarouselArrowStateType.DEFAULT]?.arrowLeftIconButtonContainer)} } &:hover { ${props => getStyles(props.styles[CarouselArrowStateType.HOVER]?.arrowLeftIconButtonContainer)} } &:active { ${props => getStyles(props.styles[CarouselArrowStateType.PRESSED]?.arrowLeftIconButtonContainer)} } } ${({ styles }) => getStyles(styles[CarouselArrowStateType.DEFAULT]?.arrowLeftIconContainer)}; &:hover { ${props => getStyles(props.styles[CarouselArrowStateType.HOVER]?.arrowLeftIconContainer)} } &:active { ${props => getStyles(props.styles[CarouselArrowStateType.PRESSED]?.arrowLeftIconContainer)} } &[data-disabled='true'] { ${({ styles }) => getStyles(styles[CarouselArrowStateType.DISABLED]?.arrowLeftIconContainer)}; > button { ${({ styles }) => getStyles(styles[CarouselArrowStateType.DISABLED]?.arrowLeftIconButtonContainer)}; } } `; export const ArrowRightIconContainer = styled.div ` > button { position: absolute; top: 0; ${({ styles }) => getStyles(styles[CarouselArrowStateType.DEFAULT]?.arrowRightIconButtonContainer)}; &:focus { ${props => getStyles(props.styles[CarouselArrowStateType.DEFAULT]?.arrowRightIconButtonContainer)} } &:hover { ${props => getStyles(props.styles[CarouselArrowStateType.HOVER]?.arrowRightIconButtonContainer)} } &:active { ${props => getStyles(props.styles[CarouselArrowStateType.PRESSED]?.arrowRightIconButtonContainer)} } } ${({ styles }) => getStyles(styles[CarouselArrowStateType.DEFAULT]?.arrowRightIconContainer)}; &:hover { ${props => getStyles(props.styles[CarouselArrowStateType.HOVER]?.arrowRightIconContainer)} } &:active { ${props => getStyles(props.styles[CarouselArrowStateType.PRESSED]?.arrowRightIconContainer)} } &[data-disabled='true'] { ${({ styles }) => getStyles(styles[CarouselArrowStateType.DISABLED]?.arrowRightIconContainer)}; > button { ${({ styles }) => getStyles(styles[CarouselArrowStateType.DISABLED]?.arrowRightIconButtonContainer)}; } } `; //# sourceMappingURL=carousel.styled.js.map