woocommerce/plugins/woocommerce-admin/client/marketing/coupons/card/index.js

67 lines
1.3 KiB
JavaScript
Raw Normal View History

Convert the marketing tab cards to use the new @wordpress/components Card component. (https://github.com/woocommerce/woocommerce-admin/pull/5428) * Change WooCommerce Card to WordPress Card in the WelcomeCard component. Use isElevated and margin-bottom to make the Card look close to previous UI. * Use WordPress Card in KnowledgeBase. For the description in Card header, it will be rendered as a p element instead of h2, which should be more semantically correct. Test is updated to reflect this. * Add Card component wrapper that supports title and description props. * Use WordPress Card component wrapper in recommended extensions. * Code refactor to use WordPress Card wrapper. * Use WordPress Card wrapper in installed extension. * Use margin-bottom for children layout at the parent CSS level. * Add test for Card. * Fix no margin between cards in Coupons page, and remove previous css for WooCommerce Card. * Remove old WooCommerce Card css. * Don't use isElevated in Card, to match the style in WooCommerce Home screen. * Make item border color consistent with WordPress Card in Installed Extension card. Use WordPress Card without CardBody here because we don't want the padding from CardBody. * Make the card description look similar to previous WooCommerce Card description. * Fix spelling in CSS class names. * Fix WooCommerce spelling in comment. * Change the Marketing Card style to match with WooCommerce Home style. Also change the text gray color to use CSS variable instead of hardcoded gray value. Also remove the usage of h2 in the Card header to follow WooCommerce Home style. * Use $gray-200 as light borders between items in card. * Remove unneeded CSS code based on TODO in comment.
2020-10-23 06:41:45 +00:00
/**
* External dependencies
*/
import { Card as WPCard, CardBody, CardHeader } from '@wordpress/components';
Convert the marketing tab cards to use the new @wordpress/components Card component. (https://github.com/woocommerce/woocommerce-admin/pull/5428) * Change WooCommerce Card to WordPress Card in the WelcomeCard component. Use isElevated and margin-bottom to make the Card look close to previous UI. * Use WordPress Card in KnowledgeBase. For the description in Card header, it will be rendered as a p element instead of h2, which should be more semantically correct. Test is updated to reflect this. * Add Card component wrapper that supports title and description props. * Use WordPress Card component wrapper in recommended extensions. * Code refactor to use WordPress Card wrapper. * Use WordPress Card wrapper in installed extension. * Use margin-bottom for children layout at the parent CSS level. * Add test for Card. * Fix no margin between cards in Coupons page, and remove previous css for WooCommerce Card. * Remove old WooCommerce Card css. * Don't use isElevated in Card, to match the style in WooCommerce Home screen. * Make item border color consistent with WordPress Card in Installed Extension card. Use WordPress Card without CardBody here because we don't want the padding from CardBody. * Make the card description look similar to previous WooCommerce Card description. * Fix spelling in CSS class names. * Fix WooCommerce spelling in comment. * Change the Marketing Card style to match with WooCommerce Home style. Also change the text gray color to use CSS variable instead of hardcoded gray value. Also remove the usage of h2 in the Card header to follow WooCommerce Home style. * Use $gray-200 as light borders between items in card. * Remove unneeded CSS code based on TODO in comment.
2020-10-23 06:41:45 +00:00
import PropTypes from 'prop-types';
import clsx from 'clsx';
import { Text } from '@woocommerce/experimental';
Convert the marketing tab cards to use the new @wordpress/components Card component. (https://github.com/woocommerce/woocommerce-admin/pull/5428) * Change WooCommerce Card to WordPress Card in the WelcomeCard component. Use isElevated and margin-bottom to make the Card look close to previous UI. * Use WordPress Card in KnowledgeBase. For the description in Card header, it will be rendered as a p element instead of h2, which should be more semantically correct. Test is updated to reflect this. * Add Card component wrapper that supports title and description props. * Use WordPress Card component wrapper in recommended extensions. * Code refactor to use WordPress Card wrapper. * Use WordPress Card wrapper in installed extension. * Use margin-bottom for children layout at the parent CSS level. * Add test for Card. * Fix no margin between cards in Coupons page, and remove previous css for WooCommerce Card. * Remove old WooCommerce Card css. * Don't use isElevated in Card, to match the style in WooCommerce Home screen. * Make item border color consistent with WordPress Card in Installed Extension card. Use WordPress Card without CardBody here because we don't want the padding from CardBody. * Make the card description look similar to previous WooCommerce Card description. * Fix spelling in CSS class names. * Fix WooCommerce spelling in comment. * Change the Marketing Card style to match with WooCommerce Home style. Also change the text gray color to use CSS variable instead of hardcoded gray value. Also remove the usage of h2 in the Card header to follow WooCommerce Home style. * Use $gray-200 as light borders between items in card. * Remove unneeded CSS code based on TODO in comment.
2020-10-23 06:41:45 +00:00
/**
* Internal dependencies
*/
import './style.scss';
const Card = ( props ) => {
const { title, description, children, className } = props;
return (
<WPCard
className={ clsx( className, 'woocommerce-admin-marketing-card' ) }
Convert the marketing tab cards to use the new @wordpress/components Card component. (https://github.com/woocommerce/woocommerce-admin/pull/5428) * Change WooCommerce Card to WordPress Card in the WelcomeCard component. Use isElevated and margin-bottom to make the Card look close to previous UI. * Use WordPress Card in KnowledgeBase. For the description in Card header, it will be rendered as a p element instead of h2, which should be more semantically correct. Test is updated to reflect this. * Add Card component wrapper that supports title and description props. * Use WordPress Card component wrapper in recommended extensions. * Code refactor to use WordPress Card wrapper. * Use WordPress Card wrapper in installed extension. * Use margin-bottom for children layout at the parent CSS level. * Add test for Card. * Fix no margin between cards in Coupons page, and remove previous css for WooCommerce Card. * Remove old WooCommerce Card css. * Don't use isElevated in Card, to match the style in WooCommerce Home screen. * Make item border color consistent with WordPress Card in Installed Extension card. Use WordPress Card without CardBody here because we don't want the padding from CardBody. * Make the card description look similar to previous WooCommerce Card description. * Fix spelling in CSS class names. * Fix WooCommerce spelling in comment. * Change the Marketing Card style to match with WooCommerce Home style. Also change the text gray color to use CSS variable instead of hardcoded gray value. Also remove the usage of h2 in the Card header to follow WooCommerce Home style. * Use $gray-200 as light borders between items in card. * Remove unneeded CSS code based on TODO in comment.
2020-10-23 06:41:45 +00:00
>
<CardHeader>
<div>
<Text
variant="title.small"
as="p"
size="20"
lineHeight="28px"
>
{ title }
</Text>
Convert the marketing tab cards to use the new @wordpress/components Card component. (https://github.com/woocommerce/woocommerce-admin/pull/5428) * Change WooCommerce Card to WordPress Card in the WelcomeCard component. Use isElevated and margin-bottom to make the Card look close to previous UI. * Use WordPress Card in KnowledgeBase. For the description in Card header, it will be rendered as a p element instead of h2, which should be more semantically correct. Test is updated to reflect this. * Add Card component wrapper that supports title and description props. * Use WordPress Card component wrapper in recommended extensions. * Code refactor to use WordPress Card wrapper. * Use WordPress Card wrapper in installed extension. * Use margin-bottom for children layout at the parent CSS level. * Add test for Card. * Fix no margin between cards in Coupons page, and remove previous css for WooCommerce Card. * Remove old WooCommerce Card css. * Don't use isElevated in Card, to match the style in WooCommerce Home screen. * Make item border color consistent with WordPress Card in Installed Extension card. Use WordPress Card without CardBody here because we don't want the padding from CardBody. * Make the card description look similar to previous WooCommerce Card description. * Fix spelling in CSS class names. * Fix WooCommerce spelling in comment. * Change the Marketing Card style to match with WooCommerce Home style. Also change the text gray color to use CSS variable instead of hardcoded gray value. Also remove the usage of h2 in the Card header to follow WooCommerce Home style. * Use $gray-200 as light borders between items in card. * Remove unneeded CSS code based on TODO in comment.
2020-10-23 06:41:45 +00:00
<Text
variant="subtitle.small"
as="p"
Convert the marketing tab cards to use the new @wordpress/components Card component. (https://github.com/woocommerce/woocommerce-admin/pull/5428) * Change WooCommerce Card to WordPress Card in the WelcomeCard component. Use isElevated and margin-bottom to make the Card look close to previous UI. * Use WordPress Card in KnowledgeBase. For the description in Card header, it will be rendered as a p element instead of h2, which should be more semantically correct. Test is updated to reflect this. * Add Card component wrapper that supports title and description props. * Use WordPress Card component wrapper in recommended extensions. * Code refactor to use WordPress Card wrapper. * Use WordPress Card wrapper in installed extension. * Use margin-bottom for children layout at the parent CSS level. * Add test for Card. * Fix no margin between cards in Coupons page, and remove previous css for WooCommerce Card. * Remove old WooCommerce Card css. * Don't use isElevated in Card, to match the style in WooCommerce Home screen. * Make item border color consistent with WordPress Card in Installed Extension card. Use WordPress Card without CardBody here because we don't want the padding from CardBody. * Make the card description look similar to previous WooCommerce Card description. * Fix spelling in CSS class names. * Fix WooCommerce spelling in comment. * Change the Marketing Card style to match with WooCommerce Home style. Also change the text gray color to use CSS variable instead of hardcoded gray value. Also remove the usage of h2 in the Card header to follow WooCommerce Home style. * Use $gray-200 as light borders between items in card. * Remove unneeded CSS code based on TODO in comment.
2020-10-23 06:41:45 +00:00
className="woocommerce-admin-marketing-card-subtitle"
size="14"
lineHeight="20px"
Convert the marketing tab cards to use the new @wordpress/components Card component. (https://github.com/woocommerce/woocommerce-admin/pull/5428) * Change WooCommerce Card to WordPress Card in the WelcomeCard component. Use isElevated and margin-bottom to make the Card look close to previous UI. * Use WordPress Card in KnowledgeBase. For the description in Card header, it will be rendered as a p element instead of h2, which should be more semantically correct. Test is updated to reflect this. * Add Card component wrapper that supports title and description props. * Use WordPress Card component wrapper in recommended extensions. * Code refactor to use WordPress Card wrapper. * Use WordPress Card wrapper in installed extension. * Use margin-bottom for children layout at the parent CSS level. * Add test for Card. * Fix no margin between cards in Coupons page, and remove previous css for WooCommerce Card. * Remove old WooCommerce Card css. * Don't use isElevated in Card, to match the style in WooCommerce Home screen. * Make item border color consistent with WordPress Card in Installed Extension card. Use WordPress Card without CardBody here because we don't want the padding from CardBody. * Make the card description look similar to previous WooCommerce Card description. * Fix spelling in CSS class names. * Fix WooCommerce spelling in comment. * Change the Marketing Card style to match with WooCommerce Home style. Also change the text gray color to use CSS variable instead of hardcoded gray value. Also remove the usage of h2 in the Card header to follow WooCommerce Home style. * Use $gray-200 as light borders between items in card. * Remove unneeded CSS code based on TODO in comment.
2020-10-23 06:41:45 +00:00
>
{ description }
</Text>
</div>
</CardHeader>
<CardBody>{ children }</CardBody>
</WPCard>
);
};
Card.propTypes = {
/**
* Card title.
*/
title: PropTypes.string,
/**
* Card description.
*/
description: PropTypes.string,
/**
* Additional class name to style the component.
*/
className: PropTypes.string,
/**
* A renderable component (or string) which will be displayed as the content of this item. Generally a `ToggleControl`.
*/
children: PropTypes.node,
};
export default Card;