/* * * Copyright 2016 RIFT.IO Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ import React, {Component} from 'react'; import 'style/core.css'; import './panel.scss'; import circleXImage from '../../../node_modules/open-iconic/svg/circle-x.svg'; export class Panel extends Component { constructor(props) { super(props) } render() { let self = this; let {children, className, title, ...props} = self.props; let classRoot = className ? ' ' + className : ' '; let hasCorners = this.props['no-corners']; let titleTag = title ?
{title}
: ''; let closeButton = ( ); return (
{ self.props.hasCloseButton ? closeButton : null} { !hasCorners ? : null } { !hasCorners ? : null } {titleTag}
{children}
{ !hasCorners ? : null } { !hasCorners ? : null }
) } } Panel.defaultProps = { } export class PanelWrapper extends Component { render() { let wrapperClass = 'skyquakePanelWrapper'; let {className, column, style, ...props} = this.props; if(className) { wrapperClass = `${wrapperClass} ${className}` } if(column) { style.flexDirection = 'column'; } return (
{this.props.children}
) } } PanelWrapper.defaultProps = { style: {} } export default Panel; function decorateClassNames(className, addendum) { return className.trim().split(' ').map(function(c) { return c + addendum }).join(' '); }