shellscape / shellscape/jsx-email
Build a Component for Rounded Containers with Rich Content
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1.3k
- Forks
- 55
- PR merge metrics
- No merged PRs in 30d
Description
- Component or Package Name: jsx-email
- Component or Package Version: 2.7.0
Feature Use Case
I have a Button that has rich content and rounded corners. This renders perfectly fine for modern Clients but does not work with Outlook: It generates a roundrect vml that displays a rounded button, but the rich content is not inside that button but rendered below.
There is a hack for this using shapes in the corners with additional table cells:
https://kontent.ai/blog/emails-outlook-containers-rounded-courners/
I can write this using the <Raw /> and <Conditional /> component, but this is tedious.
Feature Proposal
I would like to have a Component or option in existing components that does this automatically. For example, when using a <Container />, it should optimally recognize the Tailwind "rounded" class and add the vml comments from the article above. I don't know if that already happens, otherwise this sounds like a lot of work. Alternatively a simple <RoundRichContainer /> which always places these would also suffice.
Thank you in advance for considering it.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing Container, Raw, and Conditional components and how Tailwind rounded classes are handled. Compare their output with the linked Outlook rounded-container approach. Done means a reusable component or option renders rich content inside rounded containers in Outlook without requiring manual Raw and Conditional markup.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- tailwindcss, typescript
- Domain
- frontend, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100