woocommerce/plugins/woocommerce-blocks/assets/js/base/components/totals/totals-item/index.js

41 lines
994 B
JavaScript
Raw Normal View History

Add Cart totals to Cart block (https://github.com/woocommerce/woocommerce-blocks/pull/1411) * Add Cart totals to Cart block * Accessibility improvements * Load vendors styles separately * Use same shipping placeholders for cart and checkout * Refactor how we import @wordpress/components styles so only panel styles are imported * Remove style-loader from vendors styles build process * Add htmlFor attribute to TotalsCouponCodeInput * Update totalItems shape to match API * Fix wrong total items shape using numbers instead of strings * Rename wc-blocks classes to wc-block * Remove unnecessary parseInt() * Add radix to parseInt() * Rename totalRows to totalRowsConfig * Move placeholder content out of the component * Use Card component for cart's sidebar (https://github.com/woocommerce/woocommerce-blocks/pull/1423) * Use Card component for cart's sidebar * Split RadioControl component * No need to use Label in RadioControlOption * Remove no longer valid @todo comment * Use 'checked' prop instead of 'selected' in RadioControlOption * Rename wc-blocks classes to wc-block * Rename wc-blocks classes to wc-block (II) * Make sure radio control ids are unique using withComponentId * Load PanelBody and PanelRow from last version of @wordpress/components * Create vendors-frontend.js file * Load wordpress-component instead of @wordpress/components from <Button> component * Only load 'withRestApiHydration' HOC * Make vendors-frontend a dependency of cart-frontend script * Revert "Only load 'withRestApiHydration' HOC" This reverts commit 9f9b9759a98047b26e7d8f04189ffe78c1d5bb06. * Fix fieldset background
2020-01-10 14:37:27 +00:00
/**
* External dependencies
*/
import PropTypes from 'prop-types';
import classnames from 'classnames';
import FormattedMonetaryAmount from '@woocommerce/base-components/formatted-monetary-amount';
/**
* Internal dependencies
*/
import './style.scss';
const TotalsItem = ( { className, currency, label, value, description } ) => {
return (
<div
className={ classnames( 'wc-block-totals-table-item', className ) }
>
<span className="wc-block-totals-table-item__label">{ label }</span>
<FormattedMonetaryAmount
className="wc-block-totals-table-item__value"
currency={ currency }
displayType="text"
value={ value }
/>
<span className="wc-block-totals-table-item__description">
{ description }
</span>
</div>
);
};
TotalsItem.propTypes = {
currency: PropTypes.object.isRequired,
label: PropTypes.string.isRequired,
value: PropTypes.number.isRequired,
className: PropTypes.string,
description: PropTypes.node,
};
export default TotalsItem;