import react, { Component } from "react";
import Styles from '../styles/Components/cardrow.module.css';

class Docs extends Component {
    /*
        Properties:
        - header: Header component
        Children:
        - List of sections
    */
	constructor(props) {
		super(props);
	}

	render() {
		return "a"
	}
}

class Section extends Component {
    /*

    */
    constructor(props) {
        super(props);
    }

    render() {
        return "a"
    }
}



export default CardRow;