/** * External dependencies */ import { __ } from '@wordpress/i18n'; import { TotalsCoupon, TotalsDiscount, TotalsFooterItem, TotalsShipping, } from '@woocommerce/base-components/cart-checkout'; import { Subtotal, TotalsFees, TotalsTaxes, TotalsWrapper, ExperimentalOrderMeta, ExperimentalDiscountsMeta, } from '@woocommerce/blocks-checkout'; import { getCurrencyFromPriceResponse } from '@woocommerce/price-format'; import { useStoreCartCoupons, useStoreCart, } from '@woocommerce/base-context/hooks'; import { getSetting } from '@woocommerce/settings'; import Title from '@woocommerce/base-components/title'; /** * Internal dependencies */ const Block = ( { className, showRateAfterTaxName = false, isShippingCalculatorEnabled = true, }: { className: string; showRateAfterTaxName: boolean; isShippingCalculatorEnabled: boolean; } ): JSX.Element => { const { cartFees, cartTotals, cartNeedsShipping } = useStoreCart(); const { applyCoupon, removeCoupon, isApplyingCoupon, isRemovingCoupon, appliedCoupons, } = useStoreCartCoupons(); const totalsCurrency = getCurrencyFromPriceResponse( cartTotals ); // Prepare props to pass to the ExperimentalOrderMeta slot fill. // We need to pluck out receiveCart. // eslint-disable-next-line no-unused-vars const { extensions, receiveCart, ...cart } = useStoreCart(); const slotFillProps = { extensions, cart, }; const discountsSlotFillProps = { extensions, cart, }; return (