UNPKG

@zendeskgarden/react-chrome

Version:

Components relating to Chrome within the Garden Design System.

54 lines (51 loc) 1.77 kB
/** * Copyright Zendesk, Inc. * * Use of this source code is governed under the Apache License, Version 2.0 * found at http://www.apache.org/licenses/LICENSE-2.0. */ import styled, { css } from 'styled-components'; import { componentStyles, getColor, getLineHeight } from '@zendeskgarden/react-theming'; const COMPONENT_ID = 'chrome.sheet'; const colorStyles = _ref => { let { theme, $isOpen } = _ref; const backgroundColor = getColor({ theme, variable: 'background.default' }); const borderColor = $isOpen ? getColor({ theme, variable: 'border.default' }) : 'transparent'; return css(["border-color:", ";background-color:", ";"], borderColor, backgroundColor); }; const sizeStyles = _ref2 => { let { theme, $isOpen, $placement, $size } = _ref2; const width = $isOpen ? $size : 0; const fontSize = theme.fontSizes.md; const lineHeight = getLineHeight(theme.space.base * 5, fontSize); const border = $isOpen ? theme.borders.sm : 'none'; let borderProperty; if ($placement === 'start') { borderProperty = `border-${theme.rtl ? 'left' : 'right'}`; } else { borderProperty = `border-${theme.rtl ? 'right' : 'left'}`; } return css(["box-sizing:border-box;width:", ";height:100%;", ":", ";line-height:", ";font-size:", ";"], width, borderProperty, border, lineHeight, fontSize); }; const StyledSheet = styled.aside.attrs({ 'data-garden-id': COMPONENT_ID, 'data-garden-version': '9.5.3' }).withConfig({ displayName: "StyledSheet", componentId: "sc-dx8ijk-0" })(["display:flex;order:1;transition:", ";overflow:hidden;", ";&:focus{outline:none;}", ";", ";"], props => props.$isAnimated && 'width 250ms ease-in-out', sizeStyles, colorStyles, componentStyles); export { StyledSheet };