Conditional headings don't work in global settings

I can conditionally show/hide a heading in section/block settings, but visible_if gets ignored in global settings.

Input this code anywhere in config/settings_schema.json

  {
    "type": "header",
    "content": "I should not be visible",
    "visible_if": "{{ false }}"
  },

And you will see this:

Hey @Gideon, thanks for flagging this, it does look odd. Before I dig into this further, could you confirm whether a paragraph using the same "visible_if": "{{ false }}" hides correctly beside the global header in settings_schema.json? I just wanted to confirm whether this is isolated to header first. Hope to hear from you soon!

Yes, @Alan_G the paragraph can show/hide in global settings. This only affects the header.

@Alan_G Here is an example: Monosnap. Take note of the Title, Price, Variant picker, etc headers. All of the settings hide when uncheck ‘Enable quick view’, but the headers remain

Hey folks - thanks for the additional confirmation and example here. We’ve got enough to look into this further on our end, so I’m checking internally and will loop back once I have more info. Thanks again for flagging this!

Any news on this one @Alan_G ?

Hey @rubenbristian - thanks for the nudge and your patience, and thanks again to everyone who added repros here.

Just confirming this may be an issue on our end not a docs issue and I’ve logged it here on our side.

I don’t have a timeline to share, which I know is not super ideal. In the meantime, if you need a conditional label in global settings, a paragraph with the same visible_if should hide correctly, so that’s the workaround I’d go with for now.

Let me know if I can help out further.

One example of where I would like to use this is the typograpy settings in Analog. Specifically the dropdowns for Button, Accordion and Tab.

They look fine when you’re just mapping an element:

When you select custom values for each, you loose all visual grouping. It’s hard to see that this is still about Button, Accordion and Tab.

The visual grouping you get from header is helpful. You need visual grouping for conditional settings clusters.

The rest of my typography settings specifically use selects that appear as segmented controls, because they are chunky and have a lot of visual weight. Those chunky controls make the settings legible even when there’s some ... custom options open:

Typically I using checkboxes to “enable” custom settings, but typography is different because of this bug. I built my entire typography pattern around this bug. In Analog, that’s around 60 clusters and 2k lines of code, all shaped by this bug.

Honestly, a lot of my global settings are shaped by this bug. It adds up over time.