26 lines
		
	
	
		
			789 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			789 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import * as React from 'react';
 | |
| 
 | |
| import { styled } from 'ts/style/theme';
 | |
| 
 | |
| export interface PlaceHolderProps {
 | |
|     className?: string;
 | |
|     hideChildren: React.ReactNode;
 | |
|     fillColor: string;
 | |
| }
 | |
| 
 | |
| const PlainPlaceHolder: React.StatelessComponent<PlaceHolderProps> = ({ className, hideChildren, children }) => {
 | |
|     const childrenVisibility = hideChildren ? 'hidden' : 'visible';
 | |
|     const childrenStyle: React.CSSProperties = { visibility: childrenVisibility };
 | |
|     return (
 | |
|         <div className={className}>
 | |
|             <div style={childrenStyle}>{children}</div>
 | |
|         </div>
 | |
|     );
 | |
| };
 | |
| 
 | |
| export const PlaceHolder = styled(PlainPlaceHolder)`
 | |
|     background-color: ${props => (props.hideChildren ? props.fillColor : 'transparent')};
 | |
|     display: inline-block;
 | |
|     border-radius: 2px;
 | |
| `;
 |