Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Duotone: Fix scrollbars displayed on Duotone Control #67187

Open
wants to merge 5 commits into
base: trunk
Choose a base branch
from

Conversation

yogeshbhutkar
Copy link
Contributor

@yogeshbhutkar yogeshbhutkar commented Nov 21, 2024

Fixes: #67158

What?

This PR resolves a bug in the Duotone Control that causes scrollbars to appear around it.

How?

In the previous patches, some negative margins were introduced that broke the layout inside the container and caused scrollbars to appear. It seems like these negative margins are rather a design principle in other components such as the overlay component but looks odd in Duotone. Hence, setting margin as 0 for it fixed the issue while keeping the design consistent with other menus.

Note: This happens because of a padding 0 CSS rule provided below:

&:has(.components-menu-group) {
	padding: 0;

	.components-dropdown-menu__menu > .components-menu-item__button,
	> .components-menu-item__button {
		margin: $grid-unit-10;
		width: auto;
	}
}

But, it cannot be directly removed as the styles of other components depend on this rule ( like the Dimension Menu ), and removing padding 0 from here would make styles look inconsistent there. Hence, creating a new class solely for the duotone content is justified to selectively fix the issue.

Testing Instructions

  1. Create an image block.
  2. Go to Styles.
  3. Go to Duotone and open the Duotone control.

Screencast

Screen.Recording.2024-11-21.at.10.55.05.AM.mov

@yogeshbhutkar yogeshbhutkar marked this pull request as ready for review November 21, 2024 05:47
Copy link

Warning: Type of PR label mismatch

To merge this PR, it requires exactly 1 label indicating the type of PR. Other labels are optional and not being checked here.

  • Type-related labels to choose from: [Type] Automated Testing, [Type] Breaking Change, [Type] Bug, [Type] Build Tooling, [Type] Code Quality, [Type] Copy, [Type] Developer Documentation, [Type] Enhancement, [Type] Experimental, [Type] Feature, [Type] New API, [Type] Task, [Type] Technical Prototype, [Type] Performance, [Type] Project Management, [Type] Regression, [Type] Security, [Type] WP Core Ticket, Backport from WordPress Core, Gutenberg Plugin.
  • Labels found: .

Read more about Type labels in Gutenberg. Don't worry if you don't have the required permissions to add labels; the PR reviewer should be able to help with the task.

Copy link

github-actions bot commented Nov 21, 2024

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: yogeshbhutkar <yogeshbhutkar@git.wordpress.org>
Co-authored-by: Mamaduka <mamaduka@git.wordpress.org>
Co-authored-by: t-hamano <wildworks@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@Mamaduka Mamaduka added [Type] Bug An existing feature does not function as intended [Feature] UI Components Impacts or related to the UI component system labels Jan 13, 2025
@yogeshbhutkar
Copy link
Contributor Author

It seems the bug persists on the latest trunk. I've refreshed the patch to streamline the changes—simply increasing the specificity appears to have resolved the issue.

Before After
Screenshot 2025-01-14 at 12 40 56 PM Screenshot 2025-01-14 at 12 36 13 PM

@Mamaduka, could you please review the PR when you have a moment? Thanks! 🙏

@yogeshbhutkar
Copy link
Contributor Author

Screenshot 2025-01-14 at 2 57 39 PM

PS: The failed test case is passing locally.

@Mamaduka
Copy link
Member

@yogeshbhutkar, yes failing e2e test is unrelated. It has been flaky for a while now, and we're trying to debug it separately.

Copy link
Member

@Mamaduka Mamaduka left a comment

Choose a reason for hiding this comment

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

Thanks, @yogeshbhutkar!

This fixed the issue and I couldn't spot any regressions with other popovers ✅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] UI Components Impacts or related to the UI component system [Type] Bug An existing feature does not function as intended
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Duotone: Popover has scrollbars
2 participants