A React component to wrap emails with Tailwind CSS.
tailwindcss
version used for this component is 3.4.10
rem
as its main unit for better accessibility. This
is not supported by some email clients, and
the pixelBasedPreset
changes it so that the styles are based on 16px
instead.No support for contexts inside the component
useContext
in any of the children of it, due to some technical limitations
regarding on how we currently map the classNames into styles.The current workaround for this right now is to move the context’s provider higher than the Tailwind
component, so that all children inside Tailwind can properly call useContext
with the context.No support for prose from @tailwindcss/typography
prose
, and beyond that, we don’t yet support classes that might
be resolved into selectors that are relatively complex. That is, selectors with more
than a class lookup.This is because we optimistically look into the selectors for class names
and look these up later on the elements, and since prose
, by using more complicated selectors,
cannot be directly inlined without matching the selectors to the elements, it isn’t able to
match the selectors appropriately.This also means some other utilities do not work either, like the space-*
utility.The only exception for this inlining of styles is with media queries, as they are not inlinable. We do not
do the same for hover:
styles though, but since their support is not best, you probably won’t need it.In the future, we will be inlining all the styles we can by actually matching the
selectors against the elements themselves.