Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
primogenial
/
wp-content
/
plugins
/
woocommerce
/
packages
/
woocommerce-blocks
/
assets
/
js
/
blocks
/
cart
/
inner-blocks
/
cart-order-summary-block
:
edit.tsx
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
/** * External dependencies */ import { useBlockProps, InnerBlocks } from '@wordpress/block-editor'; import type { TemplateArray } from '@wordpress/blocks'; import { innerBlockAreas } from '@woocommerce/blocks-checkout'; import { __ } from '@wordpress/i18n'; import { TotalsFooterItem } from '@woocommerce/base-components/cart-checkout'; import { getCurrencyFromPriceResponse } from '@woocommerce/price-format'; import { useStoreCart } from '@woocommerce/base-context/hooks'; /** * Internal dependencies */ import { useForcedLayout, getAllowedBlocks, } from '../../../cart-checkout-shared'; import { OrderMetaSlotFill } from './slotfills'; export const Edit = ( { clientId }: { clientId: string } ): JSX.Element => { const blockProps = useBlockProps(); const { cartTotals } = useStoreCart(); const totalsCurrency = getCurrencyFromPriceResponse( cartTotals ); const allowedBlocks = getAllowedBlocks( innerBlockAreas.CART_ORDER_SUMMARY ); const defaultTemplate = [ [ 'woocommerce/cart-order-summary-heading-block', { content: __( 'Cart totals', 'woo-gutenberg-products-block' ), }, [], ], [ 'woocommerce/cart-order-summary-subtotal-block', {}, [] ], [ 'woocommerce/cart-order-summary-fee-block', {}, [] ], [ 'woocommerce/cart-order-summary-discount-block', {}, [] ], [ 'woocommerce/cart-order-summary-coupon-form-block', {}, [] ], [ 'woocommerce/cart-order-summary-shipping-block', {}, [] ], [ 'woocommerce/cart-order-summary-taxes-block', {}, [] ], ] as TemplateArray; useForcedLayout( { clientId, registeredBlocks: allowedBlocks, defaultTemplate, } ); return ( <div { ...blockProps }> <InnerBlocks allowedBlocks={ allowedBlocks } template={ defaultTemplate } /> <div className="wc-block-components-totals-wrapper"> <TotalsFooterItem currency={ totalsCurrency } values={ cartTotals } /> </div> { /* do I put an totals wrapper here? */ } <OrderMetaSlotFill /> </div> ); }; export const Save = (): JSX.Element => { return ( <div { ...useBlockProps.save() }> <InnerBlocks.Content /> </div> ); };