Comments (2)
While it would be nice if the transform function is called with the value resolved from the theme, I guess the way it works now is expected. But it's not hard to make it work the way you describe above. Just pass it the theme or use the alternative approach described in the comments.
const theme = {
transformers: {
// In case you define your transformers outside your theme:
// ===================================================
// The transformer function is called with 2 arguments,
// the second argument is an object with variants
// and in this case your color tokens.
color: (value, { variants }) => {
const matches = value.match(/(.*)\.light/);
if (!matches) return value;
// this also works ⬇️
// return lighten(0.2, variants[matches[1]] || matches[1]);
return lighten(0.2, theme.colors[matches[1]] || matches[1]);
}
},
colors: {
primary: "#1975f8",
}
};
That being said, the documentation can set things off on the wrong foot as the example only works with css colors.
from xstyled.
Hello @mattietea, In fact you have access to the rawValue
, if you look at the call in the code you have all infos. I think it should be good to document it. Could you submit a PR to mention it in the doc? 🙏
from xstyled.
Related Issues (20)
- useUp & useDown accept number values but don't support them
- xstyled v 3.7.0 typescript error HOT 2
- Incorrect breakpoint with useBreakpoint hook HOT 3
- Why height and width are shortened? HOT 2
- TS error when trying to export xstyled with added utilities HOT 1
- Document site is broken on android chrome when revisited. HOT 1
- Rename the color prop to just c HOT 10
- `border` shorthand handling is buggy HOT 1
- Fractional keys in the theme are not working HOT 1
- Passing `as` prop while using styled notation creates hydration errors in NextJS dev mode HOT 1
- The Documentation should have examples in typescript and plain javascript. HOT 1
- the documentation page has unnecessary horizontal scroll HOT 1
- I'm getting an error using in SSR with NextJS: Attempted import error: 'useState' is not exported from 'react' (imported as 'React').
- Exist a way to generate the style object or classNames to be used in other third party libraries?
- Incompatibility with GatsbyJS? I have problems to make builds to production, the components are not seen with the style.
- Is it possible to style an element based on parent hover? HOT 1
- Are nested color objects in theme supported?
- Nextjs app dir?
- Is there an easier way to adding new utilities?
- Is there any way to remove color preset in colors property?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xstyled.