UNPKG

@chayns-components/gallery

Version:

A set of beautiful React components for developing your own applications with chayns.

86 lines (83 loc) 2.44 kB
import styled, { css } from 'styled-components'; import { GalleryViewMode } from '../types/gallery'; export const StyledGallery = styled.div` width: 100%; `; export const StyledGalleryItemWrapper = styled.div` display: grid; gap: 5px; ${({ $viewMode, $uploadedFileLength }) => { if ($viewMode === GalleryViewMode.GRID) { return css` > div:first-child { grid-column: 1 / -1; } ${() => { switch ($uploadedFileLength) { case 1: return css` grid-template-columns: 1fr; `; case 2: return css` grid-template-columns: repeat(2, 1fr); > div:first-child { grid-column: span 1; } `; case 3: return css` grid-template-columns: repeat(2, 1fr); > div:first-child { grid-column: span 2; } `; default: return css` grid-template-columns: repeat(3, minmax(0, 1fr)); > div:not(:first-child) { grid-column: span 1; } `; } }} `; } switch ($uploadedFileLength) { case 1: return css` grid-template-columns: 1fr; `; case 2: return css` grid-template-columns: repeat(2, 1fr); `; case 3: return css` grid-template-columns: repeat(3, 1fr); `; default: return css` grid-template-columns: repeat(2, 1fr); > div:nth-child(-n + 2) { grid-row: 1; } `; } }} aspect-ratio: ${({ $ratio }) => $ratio}; `; export const StyledGalleryEditModeWrapper = styled.div` display: grid; grid-template-columns: ${({ $fileMinWidth }) => `repeat(auto-fill, minmax(${$fileMinWidth}px, 1fr))`}; grid-auto-rows: 1fr; gap: 6px; `; //# sourceMappingURL=Gallery.styles.js.map