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

Adds dimension controls to Group Block #16730

Closed
wants to merge 43 commits into from

Conversation

getdave
Copy link
Contributor

@getdave getdave commented Jul 24, 2019

Closes #14747

Screen Capture on 2020-02-24 at 15-43-05

Description

Adds dimension controls (currently limited to padding) to the Group Block via experimental DimensionControl component within the @wordpress/components package.

Please note: this PR aims to implement the basic feature set for dimension controls. More complex UI will be added at a later date. For a more detailed explanation see this comment.

Todo

  • Ensure i18n best practices are observed
  • Unit tests
  • Add deprecation to core/group Block
  • Add reset UI
  • Add individual padding side control (probably out of scope)
  • Enable responsive settings (descoped as superceeded by other work in other PRs)

Screenshots

How has this been tested?

Manually for now.

To test please use these test annotations.

  1. Create a new Page
  2. Switch to Code Editor mode from the editor settings menu (dots in topmost right corner).
  3. Paste in all the test annotations.
  4. Switch back to Visual editor (again using editor settings menu top right).
  5. See all possible variations of dimension combinations.
  6. Add backgrounds to make things clearer.

Types of changes

New feature (non-breaking change which adds functionality)

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.

@getdave getdave added the [Block] Group Affects the Group Block label Jul 24, 2019
@getdave getdave self-assigned this Jul 24, 2019
@getdave getdave requested a review from mtias July 24, 2019 11:08
@getdave getdave added [Package] Block editor /packages/block-editor Needs Design Feedback Needs general design feedback. labels Jul 24, 2019
@getdave getdave requested a review from jasmussen July 24, 2019 11:08
getdave added a commit that referenced this pull request Jul 24, 2019
Addresses #16730 (comment)

Renames `type` to `property` to better indicate that it is a formal CSS property value and therefore should not be translated lest it break the underlying code.

Added title attribute to enable true text-based strings to be translatable.
@paulwilde
Copy link
Contributor

paulwilde commented Jul 24, 2019

Maybe Extra Large (XL) would make more sense instead of Huge (H). I didn't know what "H" stood for at first.

@getdave
Copy link
Contributor Author

getdave commented Jul 24, 2019

@kjellr has pointed me at some nice UI for responsive controls. I'll be implementing that I've implemented those!

#13363 (comment)

@getdave getdave added the Needs Technical Feedback Needs testing from a developer perspective. label Jul 24, 2019
@getdave getdave marked this pull request as ready for review July 25, 2019 05:56
@SchneiderSam
Copy link

Nice, but I find the information with S, L, M, XL ect somewhat strange. Why not with pixels? The current variant is nice for beginners, but very inaccurate for advanced users...

@davewhitley
Copy link
Contributor

Based on #13363 (comment)

Some design feedback:

  • The switch help text shouldn't be phrased as a question. Also, I don't think margin and padding should be capitalized in the switch help text.
  • The help text under each of the controls is redundant (Select the padding for this block).
  • The labels could be simplified. Try Mobile instead of Padding (mobile devices).
  • I assume the double arrow icon on the right resets the setting but I'm not sure. Might be better to use a text button that reads "Reset".
  • I don't know what N and X do.

@getdave
Copy link
Contributor Author

getdave commented Jul 25, 2019

I find the information with S, L, M, XL ect somewhat strange.

@SchneiderSam Thanks for your opinion. I assume by "strange" you mean that it wasn't immediately clear to you why the arbitrary values had been selected over absolute units?

Why not with pixels?

Imagine you are a Theme designer. You craft your CSS with spacing that is perfect for the design. You want to ensure that is consistent throughout your Theme, even if the page layout is being created by the end-user in the Block Editor.

With the approach I've taken here, when a size is selected only classes are added to the Block in the DOM. This affords the Theme creator the opportunity to provide custom sizes in CSS that are suitable for their Theme. If they opt not to do this then sensible defaults are provided.

With the pixels approach, we're locking users of the Block into absolute values and asking them to make a lot of decisions that they'd probably prefer not to have to make. It could also lead to an inconsistent visual experience.

The current variant is nice for beginners...

I completely agree. This is why I've selected this approach for the first pass at adding this control. Average users (whoever they are!) will likely be grateful to receive a series of predefined options rather than having to make their own choices. I'm looking to cater to them first, which also serves to keep this PR simple and easily comprehensible, this increasing the changes it will be accepted and merged.

...but very inaccurate for advanced users...

I take your point. As a power-user, you want precise control which this approach doesn't currently provide.

Please consider however, that at this point we're introducing a new feature with a totally new UI. As a result, I'm keen to avoid overcomplicating this PR or increasing its scope.

If this UI ships, in the future, I imagine we will want to enhance it with an "advanced" option which will afford power users the ability to

  • specify absolute values
  • specify the values for each "side" individually (eg: top, left...etc)

Ultimately, there's a lot of things we could look to do. However, for now, I'm hoping you will agree that keeping things simple and focus on the 90% of users will afford us the best opportunity of getting this PR merged. We can iterate from there.

Once again, I want to say how much I really appreciate you taking the time to provide feedback.

@getdave
Copy link
Contributor Author

getdave commented Jul 25, 2019

@drw158 Thanks for your feedback! All good stuff. I'll look at updating it tomorrow.

I don't know what N and X do.

Note that there are tooltips for each option with the full text available.

I think X has now become XL which should solve things. Do you agree that is clear enough?

I agree that N is a problem. I'd value any suggests for alternatives. Bear in mind an explicit None option is required because some Blocks have default padding and so we need None as an option to allow users to completely remove the padding from the Block.

@paaljoachim
Copy link
Contributor

I agree that N is a problem. I'd value any suggests for alternatives. Bear in mind an explicit None option is required because some Blocks have default padding and so we need None as an option to allow users to completely remove the padding from the Block.

What about a No with a tooltip of None.

@getdave
Copy link
Contributor Author

getdave commented Jul 26, 2019

What about a No with a tooltip of None.

I don't know what N and X do.

@drw158 @paaljoachim I've updated to the below (No and XL) and also improved the a11y

Screen Shot 2019-07-26 at 10 32 26

Is this better?

@github-actions
Copy link

Size Change: +996 B (0%)

Total Size: 865 kB

Filename Size Change
build/block-directory/index.js 6.02 kB -1 B
build/block-library/index.js 114 kB +633 B (0%)
build/block-library/theme-rtl.css 827 B +158 B (19%) ⚠️
build/block-library/theme.css 828 B +157 B (18%) ⚠️
build/components/index.js 190 kB +11 B (0%)
build/components/style-rtl.css 16.1 kB +19 B (0%)
build/components/style.css 16.1 kB +19 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.01 kB 0 B
build/annotations/index.js 3.43 kB 0 B
build/api-fetch/index.js 3.39 kB 0 B
build/autop/index.js 2.58 kB 0 B
build/blob/index.js 620 B 0 B
build/block-directory/style-rtl.css 760 B 0 B
build/block-directory/style.css 760 B 0 B
build/block-editor/index.js 104 kB 0 B
build/block-editor/style-rtl.css 9.78 kB 0 B
build/block-editor/style.css 9.77 kB 0 B
build/block-library/editor-rtl.css 7.67 kB 0 B
build/block-library/editor.css 7.67 kB 0 B
build/block-library/style-rtl.css 7.49 kB 0 B
build/block-library/style.css 7.49 kB 0 B
build/block-serialization-default-parser/index.js 1.65 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/blocks/index.js 57.6 kB 0 B
build/compose/index.js 5.76 kB 0 B
build/core-data/index.js 10.5 kB 0 B
build/data-controls/index.js 1.04 kB 0 B
build/data/index.js 8.22 kB 0 B
build/date/index.js 5.36 kB 0 B
build/deprecated/index.js 771 B 0 B
build/dom-ready/index.js 569 B 0 B
build/dom/index.js 3.06 kB 0 B
build/edit-post/index.js 90.7 kB 0 B
build/edit-post/style-rtl.css 8.7 kB 0 B
build/edit-post/style.css 8.69 kB 0 B
build/edit-site/index.js 4.58 kB 0 B
build/edit-site/style-rtl.css 2.77 kB 0 B
build/edit-site/style.css 2.76 kB 0 B
build/edit-widgets/index.js 4.36 kB 0 B
build/edit-widgets/style-rtl.css 2.8 kB 0 B
build/edit-widgets/style.css 2.79 kB 0 B
build/editor/editor-styles-rtl.css 327 B 0 B
build/editor/editor-styles.css 328 B 0 B
build/editor/index.js 45.1 kB 0 B
build/editor/style-rtl.css 4.13 kB 0 B
build/editor/style.css 4.11 kB 0 B
build/element/index.js 4.45 kB 0 B
build/escape-html/index.js 733 B 0 B
build/format-library/index.js 7.6 kB 0 B
build/format-library/style-rtl.css 500 B 0 B
build/format-library/style.css 501 B 0 B
build/hooks/index.js 1.92 kB 0 B
build/html-entities/index.js 621 B 0 B
build/i18n/index.js 3.45 kB 0 B
build/is-shallow-equal/index.js 711 B 0 B
build/keyboard-shortcuts/index.js 2.3 kB 0 B
build/keycodes/index.js 1.68 kB 0 B
build/list-reusable-blocks/index.js 2.99 kB 0 B
build/list-reusable-blocks/style-rtl.css 215 B 0 B
build/list-reusable-blocks/style.css 216 B 0 B
build/media-utils/index.js 4.85 kB 0 B
build/notices/index.js 1.57 kB 0 B
build/nux/index.js 3.02 kB 0 B
build/nux/style-rtl.css 616 B 0 B
build/nux/style.css 613 B 0 B
build/plugins/index.js 2.54 kB 0 B
build/primitives/index.js 1.49 kB 0 B
build/priority-queue/index.js 878 B 0 B
build/redux-routine/index.js 2.84 kB 0 B
build/rich-text/index.js 14.3 kB 0 B
build/server-side-render/index.js 2.54 kB 0 B
build/shortcode/index.js 1.7 kB 0 B
build/token-list/index.js 1.27 kB 0 B
build/url/index.js 4 kB 0 B
build/viewport/index.js 1.61 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.18 kB 0 B

compressed-size-action

@getdave
Copy link
Contributor Author

getdave commented Feb 24, 2020

Sorry for the delay here. Been sidetracked onto the Nav Block for the past month and a bit.

  • I feel like we need to define margins/padding for people with some explanatory text, at a least a little. Maybe something like "Margins (adjust spacing on the sides of the block)" and "Padding (adjust spacing around content within the block)." I don't know if the text goes under the terms themselves or if both definitions go at the bottom of the settings; that's a question for y'all.

Screenshot 2020-02-24 at 15 46 35

@michelleweber Thanks for this. I've updated. I've added this as "Help" text below the input. Adding in the label itself didn't look good.

  • For the "vertical" point, I'd probably try to keep it really simple in the main settings, like "To add space above or below a block, insert a Spacer block.

@mapk @michelleweber I've ended up removing the vertical stuff. Not sure how important it is because it could affect things differently depending on which Theme is active.

I was able to see immediate visual changes with every selection – really good stuff!

@mapk I'm glad you think this is ok. I think some experimental is required by the user when using this kind of setting. I've also added an animation to make it more perceivable (see gif in PR desc).

Are those words clear enough for people? Do people know the difference? Would we want to include any graphic to help explain this like:

I don't know, but I think it's probably as clear as we're going to get right now. We've added explanatory text as well so hopefully folks with "get" it. We can always look at adding diagrams like you suggest in a follow-up PR.

I didn't notice any change in the frontend yet. Is that correct? If I'm right that the frontend work just hasn't been done yet, it might make a difference to number 1 above.

@mapk I was testing using the Gutenbehr Starter Theme. I tested with Twenty Twenty and there is a CSS specificity issue. It looks like Twenty Twenty adds a editor-styles-wrapper class to the CSS that applies to backgrounds which adds a padding value (see below). This causes the "core" styles for padding that I've added to be overidden. Same for margin. Any ideas how we work around this kind of upstream issue?

Screen Shot 2020-02-24 at 15 40 19

@shaunandrews
Copy link
Contributor

I wonder if we can simplify the spacing settings to reduce some of the copy. Maybe using "Inside" and "Outside" along with some visual explanation could help:

image

@kjellr
Copy link
Contributor

kjellr commented Feb 24, 2020

👋 Hey folks. Taking a look at this PR for the first time in a long time. A couple things:

  • I've tested this in both Twenty Nineteen and Twenty Twenty. It works nicely in the editor in both cases, but the front-end is mixed. The padding sometimes works, but the margin is totally overwritten in both cases. Both would need patches.
  • Because both themes rely on auto left/right margins for blocks inside of entry-content, I wouldn't expect that the left/right margin rules in here would ever actually work... so I'm not totally sure what to do about that. 😕
  • While it's totally possible to tie these new spacing classnames into those themes, I'll note that it's going to require immensely complicated CSS. Twenty Nineteen for instance relies on the padding value in its calculation for max-width in a few different places, and will have to provide alternate calculations for each one of these size presets.

That's all to say... themes can handle this, but it will require creating some relatively difficult patches. And I worry that it's just making an already-complicated approach to the Group block styles even more complicated for those themes.

The best solution would be to figure out a way for core to handle all these wide/full/group/spacing stuff, but I think we're a long way off from that becoming a reality.

@getdave
Copy link
Contributor Author

getdave commented Feb 24, 2020

@kjellr thanks for taking a look. I also noted some of your points during testing and didnt have a good solution

#16730 (comment)

Are we saying this isnt a goer? If so at least it has been explored and found wanting.

In my head Themes need to evolve to handle this kind of manipulation from the editor. I wonder if allowinh Themes to register custom padding and margin values and making these available as CSS vars would help. Then based on which padd margin value is set in Editor the Theme could adjust its stylesheet using the CSS vars.

@lkraav
Copy link

lkraav commented Feb 24, 2020

Are we saying this isnt a goer? If so at least it has been explored and found wanting.

I've been following along here as well, and pondering about whether to say anything in this direction or not. Sometimes it's useful to let things play out, since other innovations may blossom.

I think this type of block-level CSS micro-management is at risk of running into mountain of mismatch issues on the frontend across the theme universe. Containers, such as Group block, can have a wild array of different uses, each needing their own systematic spacing setup, unlike a blockquote element, for an example.

At minimum, these controls shouldn't be enabled by default - only themes declaring and having compatibility should enable them.

@ZebulanStanphill
Copy link
Member

ZebulanStanphill commented Feb 24, 2020

I would say that it's bad practice for themes to center the content using auto margins, but it's not that easy to accomplish the same thing without either:

  • giving up floats and using flex display mode
  • using a container div for the content, using the margins on that, and then have to hackily implement wide/full widths using negative margins

So we definitely can't just ask themes to stop using the auto margin method.

But then again, is the horizontal-margins-not-being-applied even a problem? If there's nothing on the left or right, you don't really need to add margins there. The vertical margin will still be applied. Depending on how you look at it, this could even be considered a feature.

While I would have been more than happy to see this feature implemented a year ago, the Global Styles discussion (among other recent developments) has partially changed my mind about adding this kind of feature. I think it might be best to avoid adding any more new kinds of style controls until we know for sure how Global Styles is going to work. Otherwise, we may end up creating another legacy option/control/style/etc. that will hinder future progress with backwards compatibility concerns.

@getdave
Copy link
Contributor Author

getdave commented Feb 25, 2020

Thanks all for the feedback and input.

Given that @mtias raised the original Issue, I'd really like to have his opinion on whether we continue to pursue this feature in this PR. Hopefully he can offer some direction based on his in-depth knowledge of where the Block Editor is heading.

But then again, is the horizontal-margins-not-being-applied even a problem? If there's nothing on the left or right, you don't really need to add margins there. The vertical margin will still be applied. Depending on how you look at it, this could even be considered a feature.

Given how themes rely on auto margins, perhaps we could simply give up on margins for now and just pursue the padding element?

At minimum, these controls shouldn't be enabled by default - only themes declaring and having compatibility should enable them.

We could indeed make both dimension controls an opt-in feature thereby allowing Theme authors to choose to implement the necessary changes in their own time. For example, if you know your Themes relies on auto margins for centring then you might:

  • not opt in to dimensions at all
  • opt in to padding but not margin
  • opt in to both but choose to override hoz margin with your own CSS styles

This would avoid the "mountain of mismatch issues" suggested above.

That said, I am not wholly convinced that just because Theme authors have to make some changes we should limit the power exposed to users to control their website via the Editor. There's a delicate balance to be had, but I think with some careful planning we can mitigate any negative effects.

While I would have been more than happy to see this feature implemented a year ago, the Global Styles discussion (among other recent developments) has partially changed my mind about adding this kind of feature.

Thanks for raising this. Reading the comment, I was struggling to understand why Global Styles makes individual block controls redundant. Even if we have some kind of global styles that allows control over Block padding/margin then it's still likely users will want/need to control Block dimensions individually. If I've missed something please let me know, as I'm not super familiar with the progress of Global Styles at the moment.

@lkraav
Copy link

lkraav commented Feb 25, 2020

That said, I am not wholly convinced that just because Theme authors have to make some changes we should limit the power exposed to users to control their website via the Editor. There's a delicate balance to be had, but I think with some careful planning we can mitigate any negative effects.

The only negative effect really is the hodge-podge result across pages / blocks, since there is no "Global Styles" yet to keep things in sync, and micro-managing consistency across blocks is too much work for probably everyone (if it's even technically possible to manually curate a 100% coverage, due to lack of proper visibility tools, etc).

It's true, though, that sometimes adjusting a specific block like this achieves the user's goals much cheaper than finding/hiring someone to do a "proper" consistent job across the board. It's certainly the type of Power we'd like to provision, in general.

My "controlled enable/disable" thinking above is more suited for the scenario where higher fidelity solution resources are available, and editors should use them, instead of hacking individual blocks that nobody will have time to find and unhack later (temporary things are forever, right?).

@kjellr
Copy link
Contributor

kjellr commented Feb 25, 2020

Regarding Global Styles, @karmatosed may be able to fill in more details here. But in general, the benefit would be that there's a system set up to manage these sorts of settings and translate them into something that themes can hook into easily.

As a simple example: If this spacing setting was recorded in a CSS variable via Global Styles, then themes could hook into that, and it would automatically adjust the spacing in real-time without requiring a bunch of extra classnames and complicated style rules.

Looking further out, global styles (and full-site editing in general) also allows for the possibility that the basic stylesheet scaffolding of these blocks would be entirely handled by Gutenberg. In this case, the group block would work out of the box without the theme supplying front-end code. This is a little bit of a future wish on my part, but Global Styles and Full-site editing get us closer to that then we are today. If this were to happen, then we wouldn't have to worry about these sorts of theme issues at all moving forward.

@mtias
Copy link
Member

mtias commented Mar 10, 2020

The lack of control over padding (in the group block in particular) is becoming a pretty severe limitation for building block patterns. We won't be able to solve all problems at once, but we should start by adding padding control to Group to allow these customizations. This is orthogonal to the global style system recognizing and setting defaults together with the theme which cascade through blocks.

@ItsJonQ was exploring having canvas controls for it as well: https://codesandbox.io/s/happy-platform-0leig

@karmatosed
Copy link
Member

Thanks for the ping @kjellr. I explored this a little for width and padding in global styles here: #20771

@getdave
Copy link
Contributor Author

getdave commented Mar 11, 2020

The lack of control over padding (in the group block in particular) is becoming a pretty severe limitation for building block patterns
We won't be able to solve all problems at once

Agreed 💯

we should start by adding padding control to Group to allow these customizations

Let's do this. @shaunandrews presented a design. @karmatosed would this work for you? How shall I proceed visually here?

@ItsJonQ was exploring having canvas controls for it as well: https://codesandbox.io/s/happy-platform-0leig

This looks great and would be vastly preferable. Are we agreed this would be something for a followup PR?

@ItsJonQ
Copy link

ItsJonQ commented Mar 11, 2020

This looks great and would be vastly preferable.

@getdave Thanks for the feedback! That was a really quick test. It sounds like there may be something to it. In that case, I can work on refining the prototype to make sure the interactions and intent feel right

@ItsJonQ
Copy link

ItsJonQ commented Mar 25, 2020

👋 Hai there!!

Apologies for the late reply! It's been a bit hectic.

Updates!

The UnitControl UI I prototyped is making it's way into core via this PR:
#20888

The above PR is very close to landing.
Once it does, I'll be able to use it to create the dimension controls for blocks.

For context, it would be for the top / right / bottom / left based padding values. A demo of this can be found in my prototype here:

https://0leig.codesandbox.io/

(The padding units at the top)

@getdave
Copy link
Contributor Author

getdave commented Mar 27, 2020

Ill put this back on my roadmap of issues to get done.

@paaljoachim paaljoachim mentioned this pull request Apr 9, 2020
6 tasks
@paaljoachim
Copy link
Contributor

paaljoachim commented Apr 9, 2020

I just linked to another PR for adding padding to the Cover Block. Seen just above.
I would think that the method/component made in the PR for the Cover Block would also transfer over to the Group Block.

@getdave
Copy link
Contributor Author

getdave commented Apr 20, 2020

The above PR is very close to landing.
Once it does, I'll be able to use it to create the dimension controls for blocks.

@ItsJonQ Sounds like we'll be able to merge that into this PR quite easily then? Core Navigation is taking all my time at the moment anyway, so I'll wait for you to finish up.

@paaljoachim
Copy link
Contributor

It looks like this PR has stalled.
What is the forward path @getdave and @ItsJonQ ?

@getdave
Copy link
Contributor Author

getdave commented Nov 4, 2020

@ItsJonQ I believe you've been iterating quite heavily on adding features to the Cover block. Are you able to briefly outline the steps that might need to be taken to add the dimension controls to the Group block as well? I'm happy to try and take a look at doing it, but it might save a tonne of time if you could roughly sketch out the roadmap as I'm slightly out of touch with latest UI control developments.

@ItsJonQ
Copy link

ItsJonQ commented Nov 4, 2020

Are you able to briefly outline the steps that might need to be taken to add the dimension controls to the Group block as well? ... roughly sketch out the roadmap .

@getdave Haiii!! I'll do my best to help 💪


✅ Supports

With the supports feature, the Spacing (padding) controls can be added to any block (in theory) by specifying it in the block.json:

	"supports": {
		"anchor": true,
		"align": true,
		"html": false,
		"spacing": {
			"padding": true // 👈 Right here
		}
	}

The values are (currently) rendered in the block as inline styles.

🕹 Controls

For the above system to work, the controls are "bound" to the support attributes through the block-editor/hooks:
https://github.com/WordPress/gutenberg/tree/master/packages/block-editor/src/hooks

Here are the padding controls:
https://github.com/WordPress/gutenberg/blob/master/packages/block-editor/src/hooks/padding.js

These controls are abstracted away from a block's edit.js file (where controls have traditionally lived), in this "global" layer. This allows blocks to flag which controls they'd need, whether it's padding or align.

✨ Visualizers

The tricky part is, the Cover also adds some UI to help "visualize" the padding changes via these transparent blue rectangles. The implementation of that currently looks like this:

https://github.com/WordPress/gutenberg/blob/master/packages/block-library/src/cover/edit.js#L533

(I wish we didn't have to manually rig this part up. But that's how it currently has to be done)

The spacing controls have to be enabled via the (experimental) theme.json file in the theme, like so:

// experimental-theme.json
{
  "global": {
    "settings": {
      "spacing": {
        "customPadding": true
      }
    }
  }
}

🍇 Group block

It looks like the spacing.padding support has already been added to the "Group" block.


Hopefully the above explanation helps clarify some of the mechanics of how this is coordinated 🙏

@getdave
Copy link
Contributor Author

getdave commented Nov 9, 2020

Now being handled in #25988

@getdave getdave closed this Nov 9, 2020
@aristath aristath deleted the add/spacing-controls-to-group-block branch November 10, 2020 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Group Affects the Group Block Needs Copy Review Needs review of user-facing copy (language, phrasing) Needs Design Feedback Needs general design feedback. Needs Technical Feedback Needs testing from a developer perspective. [Package] Block editor /packages/block-editor
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Group Block: add ability to alter padding values