Git Product home page Git Product logo

Comments (10)

adriana-olszak avatar adriana-olszak commented on May 24, 2024 2

Hi,
we started to use it in our teams, and from my point of view the syntax is very clean. When you write styled-components you have to know that there is a theme that defines some keys or keywords. For me there is no possibility to misunderstand e.g. 'primary'.

I personally vote for leaving the syntax as it is.

I'll post an update when more devs will have their opinion on this topic.

from xstyled.

gregberge avatar gregberge commented on May 24, 2024 1

Yes it will not happen, if you want "$", then feel free to prefix all variables in your theme (you can also write an helper that prefixes all variables). It will not be part of xstyled core, but feel free to create your own convention.

from xstyled.

sonhanguyen avatar sonhanguyen commented on May 24, 2024

Actually, this should be a breaking change if accepted but I think it's worth it.

from xstyled.

gregberge avatar gregberge commented on May 24, 2024

Hello @sonhanguyen, I understand your point and your pros. But there is one thing very different from Sass, it is not a variable:

width: 0.123;

This value will be transformed into 12.3%, it is confusing to have a $ in front of a value isn't it?

Maybe we could have the best of two world, being able to specify "$" or to not specify it. What do you think?

from xstyled.

sonhanguyen avatar sonhanguyen commented on May 24, 2024

I think one of the motivations is to reduce the chance of mistake. If we do introduce $ but also implicitly lookup when there is no $, it's gonna even increase the confusion and doesn't really prevent mistakes.

Per your point about the value conversion, I'm not aware it's a feature and I like to think about it as a separate thing from themed value lookup. So yes a plain number should just be width: 0.123 but a variable lookup should be width: $large.

I'm not a fan of functional css approaches like styled-system so I rely a lot on themed values, that's where your library could really help, since it makes heavy use of themed values less noisy. However, the ambiguity is really holding me back, to be honest.

from xstyled.

sonhanguyen avatar sonhanguyen commented on May 24, 2024

It can be a global option that once turned on you have to lookup with $ everywhere. So either use $ or not use $, no mixing. That could work 😄

from xstyled.

gregberge avatar gregberge commented on May 24, 2024

I will think about it, let's wait for community opinion.

from xstyled.

gregberge avatar gregberge commented on May 24, 2024

Same, at Smooth Code, we use it and it is not confusing. It depends of your theme values. Also you are able to specify $primary in the theme. So it is up to you!

from xstyled.

sonhanguyen avatar sonhanguyen commented on May 24, 2024

Same, at Smooth Code, we use it and it is not confusing. It depends of your theme values. Also you are able to specify $primary in the theme. So it is up to you!

good point

from xstyled.

jamesg1 avatar jamesg1 commented on May 24, 2024

Great library, I would say no to making it an extra char like $ for variables. Xstyled is just shorthand extending SC/Emotion. When your writing theme/css your always referencing back to your theme so adding a $ doesn't add much value. What if you wanted to reference things down the theme tree - $primary['$var2'] doesn't really make sense when you could do primary.var2.

from xstyled.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.