Hi there again @matjaz !
I could make it short and ask “add it all” but I want to make sure others see it and if I say something that does not make sense - join the conversation!
As it seems, based on overview - all experimental options are no longer added to core & block supports page! https://make.wordpress.org/core/2022/08/10/proposal-stop-merging-experimental-apis-from-gutenberg-to-wordpress-core/
Everything below are purely my thoughts & research.
Summary:
Thanks Pinegrow team & Matiaz for this amazing product a true visual builder!
Is it possible to add support for(order is irrelevant as it is the same as on supports page, the ones I really fancy are marked in bold) I understand that this might be a whole “release worth” of work - thus I am I not expecting it:
alignWide - “alignWide=false”
dimensions - “minHeight=true” or “minHeightControl=true”
html - “html=false”
layout - yes please - notes are below
spacing - “padding=true”, “margin=true”, “blockGap=true” or “paddingControl=true”, “marginControl=true”, “blockGapControl=true”.
“lineHeight=true” or “fontLineHeight=True”
Current state of block support in Gutenberg & Pinegrow viewed:
/** Anchor Options - Perfect!
anchor - In Pinegrow - perfect! Not much to say here
/** Block Align Options - polite request to add “alignWide=false”?
align - In Pinegrow - its perfect!
alignWide - “In Pinegrow” - one option could be provided is “alignWide=false” - as in certain cases block does not require to be aligned full width. This could be added as supported entry. As it allows creators to limit the block options when the block should not leave the specified contentWidth this would prevent of css requirements of “Max-width” and etc. This is supported and out of experimental long time ago.
Polite request: Is it possible to add “alignWide=false”?
/** Aria label Options - No change is required(personal opinion)
ariaLabel - Not in Pinegrow - and as of this moment - Personally(do not speak for all) should not be added - as according to w3 and others - its better to have no aria label than a bad aria label - Read Me First | APG | WAI | W3C - it would perhaps create more confusion and mess for the end user. Finally one who develops should carefully consider all aria labels & user interactions to build accessible structure that would be either accessible by default or would be further enhanced with interactivity & JS. (Thanks to Adam Lowe for constantly covering Pinegrow & accessibility challenges)
/** Class name Options - No change is required(personal opinion)
className - In Pinegrow and we have className=False - Perfect!
customClassName - Hugely debatable - and I would believe it would not be the best practice to set this as false - just in case - if a person needs to set a quick class for their block. Although if it would be applied it would be customClassName=false. In my personal opinion and instance - and hopefully many - I believe it would not be useful to add this. Furthermore it is hidden behind “Advanced settings”.
/** Color Options - Perfect - Nothing to add here!
color
color.background - In Pinegrow
color.gradients - In Pinegrow
color.link - In Pinegrow
color.text - In Pinegrow
/** Default Block style Options
defaultStylePicker - No change is required(personal opinion)
If we decide to add more style options via theme.json - it a great option to have - else wise we can always create custom attribute options to swap classes in css and create a custom Pinegrow dropdown.
/** Default Dimension Options - polite request to add “minHeight=true” or “minHeightControl=true” to be more specific?
dimensions - as of this moment the one option that is available & stable is minHeight - It would be great option to add - specifically if someone creates a slider block - or any other wrapper block that requires a min height. As it is not added to each block and for a reason - I do believe that intrinsic design should prevail.
/** Default filter Options - No change is required(personal opinion)
{ filter & filter.duotone } - Whilst its great what they are trying to add to the core - this is a questionable controller as of now - and I believe it should not be added as of now. Although if anyone believe its should be added duotone=true?
/** Default html - polite request to add “html=false”?
html - This one hopefully could be added as supported option to make sure that nosy person does not click on html option and edits something that was not intended. This setting is specifically for end user.
/** Inserter Options - No change is required(personal opinion)
inserter - we do have controls as inner blocks, parent and etc - thus I believe it should be sufficient.
/** Layout Options - polite request to add - these - I could go into each of these - although not sure how it should be added to Pinegrow - as this would potentially allow us to create so many different type of blocks, sliders carousels and some many more options. Although I would need more help on wrapping my head on how to label them in Pinegrow without cluttering it and potentially adding a docs page explaining how to use it. This would be powerfull settings for so many blocks - but again this is just my opintion. Why it would be so powerful? Well simple classes could be written to modify this blocks layout to anything you want.
layout
layout.default
layout.allowSwitching
layout.allowEditing
layout.allowInheriting
layout.allowSizingOnChildren
layout.allowVerticalAlignment
layout.allowJustification
layout.allowOrientation
layout.allowCustomContentAndWideSize
/** Multiple Options - its perfect!
multiple - In Pinegrow
/** Reusable Options - No change is required(personal opinion)
reusable - Not quite sure if block should not be converted to reusable - maybe someone can share why?
/** Lock Options - No change is required(personal opinion)
lock - I believe it should be left as default - user can lock it. Although we can always easily control via php if user can unlock something - it’s better to restrict in this situation than disallow to lock.
/** Position Options - No change is required(personal opinion)
position - I believe its still the best to leave positions to as they are - as currently there’s one position “sticy” - again - it would be potentially viable for dynamic block such as sticky table of contents with scrollspy or something. If it would be applied perhaps it would be “position=true” or “positionController=true”
/** Spacing Options - polite request to add “padding=true”, “margin=true”, “blockGap=true” or “paddingControl=true”, “marginControl=true”, “blockGapControl=true”.
spacing - spacing can be vital specifically when creating multiple synced patterns or just patterns - where same block could have multiple different looks - and it could be easily changed from within the blocks. In addition it would be great addition to the wrapper blocks(as currently if we want to have these controls we need to add inner group block initially adding Dom depth). Reason why initially I’ve mentioned spacing in my post is that spacing is one of the largest options for controlling the layout - https://every-layout.dev/
/** Typography Options - polite request to add “lineHeight=True” - a great addition for custom quote block & clamp sizing taken from the theme.json
typography
typography.fontSize
typography.lineHeight