index.tsx 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*
  2. * <<
  3. * Davinci
  4. * ==
  5. * Copyright (C) 2016 - 2017 EDP
  6. * ==
  7. * Licensed under the Apache License, Version 2.0 (the "License");
  8. * you may not use this file except in compliance with the License.
  9. * You may obtain a copy of the License at
  10. *
  11. * http://www.apache.org/licenses/LICENSE-2.0
  12. *
  13. * Unless required by applicable law or agreed to in writing, software
  14. * distributed under the License is distributed on an "AS IS" BASIS,
  15. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  16. * See the License for the specific language governing permissions and
  17. * limitations under the License.
  18. * >>
  19. */
  20. import React from 'react'
  21. const styles = require('./Box.less')
  22. interface IBoxProps {
  23. children: React.ReactNode
  24. }
  25. export class Box extends React.Component<IBoxProps, {}> {
  26. public static Header = (props) => (
  27. <div className={styles.header}>
  28. {props.children}
  29. </div>
  30. )
  31. public static Title = (props) => (
  32. <h3 className={styles.title}>
  33. {props.children}
  34. </h3>
  35. )
  36. public static Tools = (props) => (
  37. <div className={styles.tools}>
  38. {props.children}
  39. </div>
  40. )
  41. public static Body = (props) => (
  42. <div className={styles.body}>
  43. {props.children}
  44. </div>
  45. )
  46. public render () {
  47. return (
  48. <div className={styles.box}>
  49. {this.props.children}
  50. </div>
  51. )
  52. }
  53. }
  54. export default Box