Commit c9a40c1526c for woocommerce

commit c9a40c1526cec8011d18a8f02f500f37efd01fad
Author: Luigi Teschio <gigitux@gmail.com>
Date:   Wed May 20 10:34:35 2026 +0200

    Fix experimental products table polish (#65174)

    * Fix experimental product table polish

    * Add changelog entry for product table polish

diff --git a/packages/js/experimental-products-app/changelog/fix-products-table-polish b/packages/js/experimental-products-app/changelog/fix-products-table-polish
new file mode 100644
index 00000000000..fd15d8e2d22
--- /dev/null
+++ b/packages/js/experimental-products-app/changelog/fix-products-table-polish
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fix
+
+Fix product table row refresh, price spacing, and stock badge display.
diff --git a/packages/js/experimental-products-app/src/fields/price/field.tsx b/packages/js/experimental-products-app/src/fields/price/field.tsx
index 5772aeb3e00..74c4d6ef096 100644
--- a/packages/js/experimental-products-app/src/fields/price/field.tsx
+++ b/packages/js/experimental-products-app/src/fields/price/field.tsx
@@ -100,7 +100,7 @@ export const fieldExtensions: Partial< Field< PriceFilterData > > = {
 		// since partially saved products may send empty or NaN-like values here.
 		if ( item.on_sale && Number.isFinite( regularPrice ) ) {
 			return (
-				<Stack direction="row">
+				<Stack direction="row" gap="xs">
 					<s>{ formatCurrency( regularPrice, currency.code ) }</s>
 					<span>{ formatCurrency( price, currency.code ) }</span>
 				</Stack>
diff --git a/packages/js/experimental-products-app/src/fields/stock/field.tsx b/packages/js/experimental-products-app/src/fields/stock/field.tsx
index 7f98e575ff3..140dc67c369 100644
--- a/packages/js/experimental-products-app/src/fields/stock/field.tsx
+++ b/packages/js/experimental-products-app/src/fields/stock/field.tsx
@@ -56,16 +56,16 @@ export const fieldExtensions: Partial< Field< ProductEntityRecord > > = {
 			return item.stock_status;
 		}

+		const stockLabel =
+			item.stock_quantity && item.stock_quantity > 0
+				? `${ match.label } (${ item.stock_quantity })`
+				: match.label;
+
 		return (
 			<div className="woocommerce-fields-field__stock">
 				<Badge intent={ stockStatusBadgeIntent[ match.value ] }>
-					{ match.label }
+					{ stockLabel }
 				</Badge>
-				{ item.stock_quantity && item.stock_quantity > 0 && (
-					<span className="woocommerce-fields-field__stock-quantity">
-						({ item.stock_quantity })
-					</span>
-				) }
 			</div>
 		);
 	},
diff --git a/packages/js/experimental-products-app/src/product-list/index.tsx b/packages/js/experimental-products-app/src/product-list/index.tsx
index b3eceb75db6..15e2576ab8a 100644
--- a/packages/js/experimental-products-app/src/product-list/index.tsx
+++ b/packages/js/experimental-products-app/src/product-list/index.tsx
@@ -352,7 +352,7 @@ export default function ProductList( {
 				paginationInfo={ paginationInfo }
 				fields={ productFields }
 				data={ data }
-				isLoading={ isLoading && ! hasResolved }
+				isLoading={ isLoading || ! hasResolved }
 				view={ view }
 				actions={ actions }
 				onChangeView={ setView }