Initially, I tried to place the definition to theme.json
(It could set it in styles.block.core/heading or styles.elements.h1...)
It was not possible to use theme.json because of the fluid typography
feature which, when enabled for a site, causes font sizes to being
converted to the fluid definition (clamp(x, y, z)) and which
is not usable for an email due to very little client support.
We need to make some changes in Gutenberg to be able to disable the feature.
Currently, the code for generating font sizes in CSS generated from the theme.json
looks directly at the global settings of the site.
[MAILPOET-5740]
Default background rendering has to be handled on the button renderer level
because of a specific markup for Outlook (bgcolor attribute). Default text color and paddings are
handled via CSS inlining. That's why they are tested in RendererTest
I used the same background color and font color as the one defined for the button
element in WP core theme.json, and I also used similar padding values
(In core they use "calc(0.667em + 2px) calc(1.333em + 2px)")
[MAILPOET-5814]
We don't reset font family on any level, so there is no need to
bubble the setting using a preprocessor and render the inline styles
explicitly in every block.
In this commit, I change how font-family settings are distributed/rendered
in the email renderer. In the new approach, we rely on class names defining font-family
and a generated CSS sheet with font-family definitions.
We apply the font-family CSS by inlining CSS rules for families in the later phase of
rendering after all individual blocks are processed.
[MAILPOET-5740]
This was causing incorrect width in cases when $layoutPaddingLeft
and $layoutPaddingRight were set. Box-sizing doesn't have proper
support in clients, so I tried to fix it by removing 100% of the width.
According to tests in AcidEmail, this shouldn't break anything.
This was introduced when we added full-width alignment.
[MAILPOET-5644]
When we create a new email in the new editor we ensure there is
also an associated NewsletterEntity.
This commit improves this functionality by replacing custom code with
NewsletterSaveController, which ensures that the sender name and address are set.
[MAILPOET-5646]
Because side paddings were removed from template.html it was necessary add them to the columns block to correct compatibility across different email client.
[MAILPOET-5688]