import styled, { css } from 'styled-components';
/**
 * Компонент применяется, если требуется компенсировать отступы контейнера в сетке.
 * При обертывании вокруг ``Carousel``, добавляет карусели и ее прокрутке дополнительные отступы.
 * Стилизованный компонент, обладающий всеми свойствами ``div``.
 */ export var CarouselGridWrapper = styled.div.withConfig({
    displayName: "Carousel__CarouselGridWrapper",
    componentId: "sc-2bb1b43b-0"
})([
    "overflow:hidden;margin-left:calc(var(--plasma-grid-margin) * -1);margin-right:calc(var(--plasma-grid-margin) * -1);"
]);
/**
 * Корневой элемент - ограничивающая обертка карусели.
 */ export var Carousel = styled.div.withConfig({
    displayName: "Carousel",
    componentId: "sc-2bb1b43b-1"
})([
    "position:relative;margin:0;padding:0;list-style:none;::-webkit-scrollbar{display:none;}",
    " ",
    " ",
    " &{scroll-padding:0 var(--plasma-grid-margin);padding-left:var(--plasma-grid-margin);}"
], function(param) {
    var axis = param.axis;
    return axis === 'x' ? css([
        "overflow-x:auto;overflow-y:hidden;"
    ]) : css([
        "height:100%;overflow-x:hidden;overflow-y:auto;"
    ]);
}, function(param) {
    var scrollSnapType = param.scrollSnapType, axis = param.axis;
    return scrollSnapType && scrollSnapType !== 'none' && css([
        "scroll-behavior:",
        ";scroll-snap-type:",
        " ",
        ";"
    ], function(param) {
        var theme = param.theme;
        return theme.lowPerformance ? 'unset' : 'smooth';
    }, axis, scrollSnapType);
}, CarouselGridWrapper);
/**
 * Списковый (трековый) элемент карусели для непосредственного вложения айтемов в него.
 */ export var CarouselTrack = styled.div.withConfig({
    displayName: "Carousel__CarouselTrack",
    componentId: "sc-2bb1b43b-2"
})([
    "",
    " ",
    " ",
    ""
], function(param) {
    var virtualSize = param.virtualSize, axis = param.axis;
    return(// для виртуализированной карусели (useVirtual)
    virtualSize && css([
        "position:absolute;",
        ":",
        "px;"
    ], axis === 'x' ? 'width' : 'height', virtualSize));
}, function(param) {
    var liteMode = param.liteMode;
    return(// для поддержки CarouselLite
    liteMode && css([
        "transition-property:transform;transition-duration:0.5s;transform:translate(0px,0px);"
    ]));
}, function(param) {
    var axis = param.axis, paddingStart = param.paddingStart, paddingEnd = param.paddingEnd;
    return axis === 'x' ? css([
        "display:inline-flex;flex-direction:row;",
        " ",
        ""
    ], paddingStart && css([
        "padding-left:",
        ";"
    ], paddingStart), paddingEnd ? css([
        "padding-right:",
        ";"
    ], paddingEnd) : css([
        "",
        " &{padding-right:var(--plasma-grid-margin);}"
    ], CarouselGridWrapper)) : css([
        "display:flex;flex-direction:column;width:100%;",
        " ",
        ""
    ], paddingStart && css([
        "padding-top:",
        ";"
    ], paddingStart), paddingEnd && css([
        "padding-bottom:",
        ";"
    ], paddingEnd));
});
