Skip to content

Fix transactions search box placeholder text clipped on mobile#11572

Open
bruberries wants to merge 5 commits intodevelopfrom
fix/WOOPMNT-4181-transactions-search-clipped-mobile
Open

Fix transactions search box placeholder text clipped on mobile#11572
bruberries wants to merge 5 commits intodevelopfrom
fix/WOOPMNT-4181-transactions-search-clipped-mobile

Conversation

@bruberries
Copy link
Copy Markdown

Fixes #9078

Changes proposed in this Pull Request

On mobile viewports (<960px), the Transactions page search box placeholder text ("Search by order number, customer name, or billing email") is clipped because the mobile CSS breakpoint only clears margin-left but not margin-right, leaving a 16px right margin that constrains the input width.

This PR changes margin-left: 0 to margin: 0 in the mobile breakpoint for .woocommerce-search inside .has-search:not(.has-compare), clearing all margins so the search box takes full available width.

Testing instructions

  1. Open the WP admin > Payments > Transactions
  2. Use browser DevTools to set viewport width below 960px (or use a mobile device)
  3. Verify the search box placeholder text is fully visible and not clipped on the right side

  • Run npm run changelog to add a changelog file, choose patch to leave it empty if the change is not significant. You can add multiple changelog files in one PR by running this command a few times.
  • Covered with tests (or have a good reason not to test in description) - CSS-only change, visual verification required
  • Tested on mobile (or does not apply)

Post merge

The mobile breakpoint (<960px) for the search box only cleared
margin-left but not margin-right, leaving 16px of right margin
that constrained the input width and clipped the placeholder text.

Fixes #9078

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@bruberries bruberries requested review from a team, Luc45, mgascam and zhongruige and removed request for a team April 9, 2026 08:04
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 9, 2026

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 11572 or branch name fix/WOOPMNT-4181-transactions-search-clipped-mobile in your-test.site/wp-admin/admin.php?page=jetpack-beta&plugin=woocommerce-payments

Option 2. Jurassic Ninja - available for logged-in A12s

🚀 Launch a JN site with this branch 🚀

ℹ️ Install this Tampermonkey script to get more options.


Build info:

  • Latest commit: 2837711
  • Build time: 2026-04-17 15:02:59 UTC

Note: the build is updated when a new commit is pushed to this PR.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 9, 2026

Size Change: +2 B (0%)

Total Size: 963 kB

Filename Size Change
release/woocommerce-payments/dist/index-rtl.css 21.5 kB +2 B (0%)
ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/admin.css 1.46 kB
release/woocommerce-payments/assets/css/admin.rtl.css 1.46 kB
release/woocommerce-payments/assets/css/success.css 1.06 kB
release/woocommerce-payments/assets/css/success.rtl.css 1.06 kB
release/woocommerce-payments/dist/blocks-checkout-rtl.css 3.25 kB
release/woocommerce-payments/dist/blocks-checkout.css 3.25 kB
release/woocommerce-payments/dist/blocks-checkout.js 56.6 kB
release/woocommerce-payments/dist/cart-block-rtl.css 113 B
release/woocommerce-payments/dist/cart-block.css 112 B
release/woocommerce-payments/dist/cart-block.js 17.4 kB
release/woocommerce-payments/dist/cart.js 5.15 kB
release/woocommerce-payments/dist/checkout-rtl.css 1.01 kB
release/woocommerce-payments/dist/checkout.css 1.01 kB
release/woocommerce-payments/dist/checkout.js 34.9 kB
release/woocommerce-payments/dist/chunks/express-checkout-previews.js 3.52 kB
release/woocommerce-payments/dist/express-checkout-rtl.css 377 B
release/woocommerce-payments/dist/express-checkout.css 377 B
release/woocommerce-payments/dist/express-checkout.js 19.3 kB
release/woocommerce-payments/dist/frontend-tracks.js 868 B
release/woocommerce-payments/dist/index.css 21.5 kB
release/woocommerce-payments/dist/index.js 152 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.09 kB
release/woocommerce-payments/dist/multi-currency-async-renderer-rtl.css 344 B
release/woocommerce-payments/dist/multi-currency-async-renderer.css 344 B
release/woocommerce-payments/dist/multi-currency-async-renderer.js 8.1 kB
release/woocommerce-payments/dist/multi-currency-rtl.css 3.82 kB
release/woocommerce-payments/dist/multi-currency-switcher-block.js 19.2 kB
release/woocommerce-payments/dist/multi-currency.css 3.83 kB
release/woocommerce-payments/dist/multi-currency.js 25.5 kB
release/woocommerce-payments/dist/order-rtl.css 740 B
release/woocommerce-payments/dist/order.css 740 B
release/woocommerce-payments/dist/order.js 21.7 kB
release/woocommerce-payments/dist/plugins-page-rtl.css 484 B
release/woocommerce-payments/dist/plugins-page.css 484 B
release/woocommerce-payments/dist/plugins-page.js 2.64 kB
release/woocommerce-payments/dist/product-details-rtl.css 433 B
release/woocommerce-payments/dist/product-details.css 436 B
release/woocommerce-payments/dist/product-details.js 12.9 kB
release/woocommerce-payments/dist/settings-rtl.css 13.1 kB
release/woocommerce-payments/dist/settings.css 13 kB
release/woocommerce-payments/dist/settings.js 154 kB
release/woocommerce-payments/dist/subscription-edit-page.js 2 kB
release/woocommerce-payments/dist/subscription-product-onboarding-modal-rtl.css 527 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.css 527 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.js 1.95 kB
release/woocommerce-payments/dist/subscription-product-onboarding-toast.js 730 B
release/woocommerce-payments/dist/subscriptions-empty-state-rtl.css 120 B
release/woocommerce-payments/dist/subscriptions-empty-state.css 120 B
release/woocommerce-payments/dist/subscriptions-empty-state.js 1.87 kB
release/woocommerce-payments/dist/success.js 6.03 kB
release/woocommerce-payments/dist/tos-rtl.css 235 B
release/woocommerce-payments/dist/tos.css 235 B
release/woocommerce-payments/dist/tos.js 3.15 kB
release/woocommerce-payments/dist/wc-payments-review-prompt-rtl.css 1.68 kB
release/woocommerce-payments/dist/wc-payments-review-prompt.css 1.68 kB
release/woocommerce-payments/dist/wc-payments-review-prompt.js 14.5 kB
release/woocommerce-payments/dist/wc-payments-settings-spotlight-rtl.css 1.68 kB
release/woocommerce-payments/dist/wc-payments-settings-spotlight.css 1.68 kB
release/woocommerce-payments/dist/wc-payments-settings-spotlight.js 27.9 kB
release/woocommerce-payments/dist/woopay-direct-checkout.js 5.58 kB
release/woocommerce-payments/dist/woopay-express-button.js 22.1 kB
release/woocommerce-payments/dist/woopay-rtl.css 4.27 kB
release/woocommerce-payments/dist/woopay.css 4.25 kB
release/woocommerce-payments/dist/woopay.js 70.7 kB
release/woocommerce-payments/includes/subscriptions/assets/css/plugin-page.css 625 B
release/woocommerce-payments/includes/subscriptions/assets/js/plugin-page.js 814 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/i18n-loader.js 2.46 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/jetpack-script-data.js 880 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/i18n-loader.js 1.02 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/script-data.js 69 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/babel.config.js 163 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.css 2.46 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.js 14.3 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.rtl.css 2.46 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.css 10.1 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.js 31.5 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.rtl.css 10.1 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.css 198 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.js 280 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.rtl.css 198 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.css 625 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.js 331 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.rtl.css 626 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-users.js 415 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-users-connection.js 159 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-ajax.js 520 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-callables.js 585 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-admin-create-user.css 218 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-admin-create-user.js 521 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-login.css 719 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-login.js 412 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-users.js 625 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/about.css 1.04 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-empty-state.css 294 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-order-statuses.css 408 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin.css 3.59 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/checkout.css 301 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/modal.css 746 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/view-subscription.css 574 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/wcs-upgrade.css 414 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin-pointers.js 543 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin.js 9.4 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.js 6.78 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.min.js 3.84 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-coupon.js 545 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-subscription.js 2.52 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.js 22.2 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.min.js 11.7 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/payment-method-restrictions.js 1.29 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/wcs-meta-boxes-order.js 507 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/payment-methods.js 358 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/single-product.js 428 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/view-subscription.js 1.38 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/wcs-cart.js 782 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/modal.js 1.09 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/wcs-upgrade.js 1.26 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.css 391 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.js 3.04 kB

compressed-size-action

Copy link
Copy Markdown
Contributor

@mgascam mgascam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working on this fix @bruberries!

I I tested this on a JN site with the PR branch deployed and the fix doesn't appear to take effect. After investigating, here's what I found:

The mobile breakpoint rules in this file are all scoped inside .woocommerce-card__action, but WooCommerce's TableCard component (@woocommerce/components v12.3.0) now renders .woocommerce-table__actions
instead. You can verify this on any Transactions page:

document.querySelectorAll('.woocommerce-card__action').length  // → 0
document.querySelectorAll('.woocommerce-table__actions').length // → 1

Suggested fix:

I think we need to replace .woocommerce-card__action with .woocommerce-table__actions in this file (and also in client/documents/list/style.scss and client/components/download-button/style.scss which have the same stale
selector). That would revive all the mobile breakpoint styles and properly fix the placeholder clipping.

Replace .woocommerce-card__action with .woocommerce-table__actions
across transactions, documents, and download-button styles so the
mobile breakpoint rules actually apply.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@bruberries bruberries requested a review from mgascam April 13, 2026 13:42
Copy link
Copy Markdown
Contributor

@mgascam mgascam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the quick turnaround, @bruberries! I tested this locally and the search box ends up a bit cramped on mobile viewports — a couple of the revived grid rules don't quite match the current TableCard DOM, so the column collapses and the search box gets pushed to the right instead of filling the row.

Image

The revived grid rules had two issues causing the search box to be
cramped on mobile: grid-template-columns used auto (content-sized)
instead of 1fr (full-width), and grid-area referenced 3 implicit
zero-width columns instead of the single defined column.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@bruberries
Copy link
Copy Markdown
Author

Hi @mgascam, thanks for catching the cramped layout! The issue was that the mobile grid rules (now active after the selector fix) had two problems:

  1. grid-template-columns: auto sized the column to content instead of filling the container — changed to 1fr
  2. .woocommerce-search's grid-area: 2 / 1 / 3 / 4 referenced 3 implicit zero-width columns — changed to 2 / 1 / 3 / 2 to span the single defined column

Also fixed margin-left: 0margin: 0 in the documents list SCSS to fully clear margins on mobile (matching the transactions fix).

Could you test again when you get a chance?

Copy link
Copy Markdown
Contributor

@mgascam mgascam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for addressing my comments @bruberries! The search box width is much better now. I did spot one more issue while testing on mobile: the download button overlaps the search input (screenshot below). I think this is related to some of the other revived rules in download-button/style.scss that force position: absolute on the button at <960px.

I'm still thinking through the cleanest fix for this. I want to make sure we don't regress any other pages that use these shared styles. I'll follow up soon with a concrete suggestion. No action needed on your end for now.

Image

Thanks again for your patience 🙏

@bruberries
Copy link
Copy Markdown
Author

@mgascam Thank you for bearing with me!

Copy link
Copy Markdown
Contributor

@mgascam mgascam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @bruberries I have a plan to move forward with this fix. Please check my comment with the suggestion to address the download button issue.

I'm also working on a draft (#11605) to do a bit of cleanup, but I'm happy to handle that as a follow-up to this PR.

How does it sound?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest dropping this line to fix the download-button overlap on mobile I mentioned earlier. The rest of the block (grid-area, justify-self, margin) places the button correctly at row 1 col 2 right-aligned — position: absolute is what pulls it out of grid flow and causes it to overlap the search input at <960px.

Suggested change

Copy link
Copy Markdown
Author

@bruberries bruberries Apr 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion applied!

Keeps the button in the grid flow at <960px so it no longer overlaps
the search input.
@bruberries bruberries requested a review from mgascam April 17, 2026 13:00
Copy link
Copy Markdown
Contributor

@mgascam mgascam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @bruberries! :shipit: The search box now fills the width and the download button is right-aligned inline instead of overlapping. Sharing screenshots for comparison.

Tablet - 768px

Before

Image

After

Image

Mobile L - 425px

Before

Image

After

Image

Mobile S - 320px

Before

Image

After

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reporting: transactions search box prompt text is clipped on mobile

2 participants