Briefly, a new theme element strip.spacing is used to set the distance from the panel to the strip unconditionally.
Previously, we could only use strip.switch.pad.{grid/wrap} to set this distance, but only if there was an axis in between the panel and the strip. In case the conditions for the strip.switch.pad.{grid/wrap} are met, then strip.spacing is additive to that spacing. The default spacing is rel(0) inheriting from the root theme(spacing) argument, so it doesn't add space by default.
However, it does add a gtable cell even when there is 0-spacing, which helps towards #5628 as the gtable shape no longer depends on the relative placement of axes and strips (the cell is added regardless).
To give a few examples. We weren't able to do this before:
This PR aims to fix #5935.
Briefly, a new theme element
strip.spacing
is used to set the distance from the panel to the strip unconditionally.Previously, we could only use
strip.switch.pad.{grid/wrap}
to set this distance, but only if there was an axis in between the panel and the strip. In case the conditions for thestrip.switch.pad.{grid/wrap}
are met, thenstrip.spacing
is additive to that spacing. The default spacing isrel(0)
inheriting from the roottheme(spacing)
argument, so it doesn't add space by default.However, it does add a gtable cell even when there is 0-spacing, which helps towards #5628 as the gtable shape no longer depends on the relative placement of axes and strips (the cell is added regardless).
To give a few examples. We weren't able to do this before:
Or this:
Created on 2024-06-27 with reprex v2.1.0