Commit 14a436ec60d for woocommerce
commit 14a436ec60d5459752c41507d486bbd0f73a2e11
Author: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
Date: Wed Oct 14 12:22:13 2026 +0200
Add styling supports to Product Template (#69607)
* Add styling supports to Product Template
* Add changelog entry for Product Template styling
* Fix Product Template focus clearance and support documentation
* Restore generated Product Template reference
diff --git a/docs/block-development/reference/block-references.md b/docs/block-development/reference/block-references.md
index d268b7293b8..d877c5ee2ae 100644
--- a/docs/block-development/reference/block-references.md
+++ b/docs/block-development/reference/block-references.md
@@ -1545,7 +1545,7 @@ Contains the block elements used to render a product.
- **Name:** woocommerce/product-template
- **Category:** woocommerce
-- **Supports:** align (full, wide), anchor, color (background, gradients, link, text), email, interactivity, layout (~~allowEditing~~, ~~allowInheriting~~, ~~allowSizingOnChildren~~, ~~allowSwitching~~, ~~allowVerticalAlignment~~), typography (fontSize, lineHeight), ~~html~~, ~~inserter~~, ~~reusable~~
+- **Supports:** align (full, wide), anchor, color (background, gradients, link, text), email, interactivity, layout (~~allowEditing~~, ~~allowInheriting~~, ~~allowSizingOnChildren~~, ~~allowSwitching~~, ~~allowVerticalAlignment~~), shadow, spacing (margin, padding), typography (fontSize, lineHeight), ~~html~~, ~~inserter~~, ~~reusable~~
## Top Rated Products - woocommerce/product-top-rated
diff --git a/plugins/woocommerce/changelog/add-product-template-design-supports b/plugins/woocommerce/changelog/add-product-template-design-supports
new file mode 100644
index 00000000000..6e338866dcf
--- /dev/null
+++ b/plugins/woocommerce/changelog/add-product-template-design-supports
@@ -0,0 +1,4 @@
+Significance: patch
+Type: enhancement
+
+Add padding, margin, border, and shadow controls to the Product Template block.
diff --git a/plugins/woocommerce/client/blocks/assets/js/blocks/product-template/block.json b/plugins/woocommerce/client/blocks/assets/js/blocks/product-template/block.json
index 66597927b97..5c7a8ad65b4 100644
--- a/plugins/woocommerce/client/blocks/assets/js/blocks/product-template/block.json
+++ b/plugins/woocommerce/client/blocks/assets/js/blocks/product-template/block.json
@@ -26,6 +26,17 @@
"html": false,
"align": [ "wide", "full" ],
"anchor": true,
+ "spacing": {
+ "padding": true,
+ "margin": true
+ },
+ "__experimentalBorder": {
+ "color": true,
+ "style": true,
+ "width": true,
+ "radius": true
+ },
+ "shadow": true,
"color": {
"gradients": true,
"link": true,
diff --git a/plugins/woocommerce/client/blocks/assets/js/blocks/product-template/editor.scss b/plugins/woocommerce/client/blocks/assets/js/blocks/product-template/editor.scss
index d1bad852a7c..751518e7af5 100644
--- a/plugins/woocommerce/client/blocks/assets/js/blocks/product-template/editor.scss
+++ b/plugins/woocommerce/client/blocks/assets/js/blocks/product-template/editor.scss
@@ -4,8 +4,6 @@
}
ul.wc-block-product-template {
- padding-left: 0;
- margin-left: 0;
list-style: none;
}
}
diff --git a/plugins/woocommerce/client/blocks/assets/js/blocks/product-template/style.scss b/plugins/woocommerce/client/blocks/assets/js/blocks/product-template/style.scss
index 9ea1bee7b64..49584f53b83 100644
--- a/plugins/woocommerce/client/blocks/assets/js/blocks/product-template/style.scss
+++ b/plugins/woocommerce/client/blocks/assets/js/blocks/product-template/style.scss
@@ -9,12 +9,15 @@ $min-product-width: 150px;
}
}
-.wc-block-product-template {
+:where(.wc-block-product-template) {
margin-top: 0;
margin-bottom: 0;
+ padding: 0;
+}
+
+.wc-block-product-template {
max-width: 100%;
list-style: none;
- padding: 0;
// Unset background colors that can be inherited from Global Styles with extra specificity.
&.wc-block-product-template {
@@ -96,10 +99,11 @@ $min-product-width: 150px;
position: relative; // Create new stacking context
container-type: inline-size;
container-name: carousel;
- // Padding to prevent focus outline from being clipped (WCAG 2.4.13).
- padding: 4px;
.wc-block-product {
+ box-sizing: border-box;
+ // Padding to prevent focus outline from being clipped.
+ padding: 4px;
scroll-snap-align: center;
flex-basis: 0;
// Show 2 products in 85% of available space.