Introduction

Core Principles

DX and UX are orthogonal

If you have “trade-offs” between developer experience and user experience, that’s a skill issue. We create the most optimal CSS for your imaginary users, and provide a second-to-none developer experience.

Provide unrestricted primitives

We believe that writing your CSS in the same file as your components is always better than the alternative. Therefore, we must provide features and escape hatches that mean you never have to drop down to importing a .css file.

CSS needs functions

Even “boring vanilla” StyleX includes paddingHorizontal and paddingVertical because they are common patterns that are tedious to write out by hand. Your CSS framework should support abstractions.

Prior Art

We thank the following libraries for making all the mistakes before us:

Special Thanks

We would like to thank the teams behind Rollup, Vite, and TypeScript ESTree for making any of this possible.