<commit_before>import PropTypes from 'prop-types';
import styled from '@emotion/styled';
import themeGet from '../util/themeGet';
import Base from './Base';

const Page = styled(Base)`
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	padding: ${themeGet('page.yPadding')} 0;
`;

Page.propTypes = {
	as: PropTypes.any,
	/** @ignore */
	blacklist: PropTypes.array,
};

Page.defaultProps = {
	as: 'div',
};

const Footer = styled(Base)`
	margin-top: auto;
	margin-bottom: -${themeGet('page.yPadding')};
	padding-bottom: ${themeGet('space.yPadding')};
`;

Footer.propTypes = {
	as: PropTypes.any,
	/** @ignore */
	blacklist: PropTypes.array,
};

Footer.defaultProps = {
	as: 'footer',
};

Page.Footer = Footer;

/**
 * A page container to create a sticky footer.
 * @component
 */<commit_msg>Fix: Remove padding from footer in Page component<commit_after>import PropTypes from 'prop-types';
import styled from '@emotion/styled';
import themeGet from '../util/themeGet';
import Base from './Base';

const Page = styled(Base)`
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	padding: ${themeGet('page.yPadding')} 0;
`;

Page.propTypes = {
	as: PropTypes.any,
	/** @ignore */
	blacklist: PropTypes.array,
};

Page.defaultProps = {
	as: 'div',
};

const Footer = styled(Base)`
	margin-top: auto;
`;

Footer.propTypes = {
	as: PropTypes.any,
	/** @ignore */
	blacklist: PropTypes.array,
};

Footer.defaultProps = {
	as: 'footer',
};

Page.Footer = Footer;

/**
 * A page container to create a sticky footer.
 * @component
 */
{'fraction_non_alphanumeric': 0.17239144523655217, 'fraction_numerical': 0.005184705119896306, 'mean_word_length': 4.233898305084746, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '774964', 'n_tokens_mistral': 559, 'n_tokens_neox': 555, 'n_words': 135}