React 19 + Vite + TanStack Router/Query + Tailwind. Gmail-exact UI: - ThreadRow: 40px density, hover action icons, unread stripe - Sidebar: compose button, folder list, labels - MessageCard: expandable headers, reply/forward - MessageReader: full Gmail toolbar - SearchBar: pill with filter icon - Production: nginx container with /api proxy to api.mail.kua.cl Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| LICENSE | ||
| README.md | ||
| index.d.ts | ||
| index.js | ||
| package.json | ||
README.md
PostCSS Nested
PostCSS plugin to unwrap nested rules closer to Sass syntax.
.phone {
&_title {
width: 500px;
@media (max-width: 500px) {
width: auto;
}
body.is_dark & {
color: white;
}
}
img {
display: block;
}
}
.title {
font-size: var(--font);
@at-root html {
--font: 16px;
}
}
will be processed to:
.phone_title {
width: 500px;
}
@media (max-width: 500px) {
.phone_title {
width: auto;
}
}
body.is_dark .phone_title {
color: white;
}
.phone img {
display: block;
}
.title {
font-size: var(--font);
}
html {
--font: 16px;
}
Related plugins:
- Use
postcss-current-selectorafter this plugin if you want to use current selector in properties or variables values. - Use
postcss-nested-ancestorsbefore this plugin if you want to reference any ancestor element directly in your selectors with^&.
Alternatives:
- See also
postcss-nesting, which implements CSSWG draft. postcss-nested-propsfor nested properties likefont-size.
Docs
Read full docs here.