Comments (7)
Sounds like a great proposal to me! Thanks for the examples @elektronik2k5
Anyone? @kotielnikov @boromo
from precise-ui.
If they have the same API, why not, I would say that this could be a really nice feature to the library.
from precise-ui.
Alright, looks like I underestimated the level of complexity here. While the most common APIs are the same, the rest differ enough to not make it trivial.
I tried hacking src/utils/styled.ts
to switch from styled's monolithic build to Emotion's modular packages:
'@emotion/styled'
, '@emotion/core'
, 'emotion-theming'
but failed cause the types are real complex there and can't simply be swapped on a 1:1 basis between styled and emotion. 😓
Pinging Emotion maintainers @Andarist @probablyup @mitchellhamilton @Ailrun @aaronjensen in hopes they'll be kind enough to help us here 👼
from precise-ui.
Well, it's really hard to give any advice without knowing which features from styled-components do you use. If they are used solely internally or externally too. Also what would be the goal - would you like to have as much common code between those 2 variants as possible or do you just want to have 2 completely separate builds?
from precise-ui.
@Andarist, thanks for responding! 🙇♂️ The goal is to make precise-ui work with Emotion and the means is whichever way would be easiest to implement both initially and maintain further down the road.
from precise-ui.
So looking really quickly through the repository I think it would be easiest to just make a sibling file to styled.ts
(i.e. styled.emotion.ts
) & alias all imports to original one to the emotion-variant. This might not play nicely with existing TS infra though - you'd have to explore how to make it work within that setup.
from precise-ui.
in plans is to remove styled.ts, while it was used for assigning theme to all styled functions. Now there is a different better mechanism and the code will be updated accordingly soon.
Regarding usage of emotion - this will be possible only in the case of total compatibility with styled-components API and types. I personally against it because it will increase maintaining cost twice and there will be never total compatibility. I believe that we should go either for one solution or for other but because styled components are already in place most probably we will stay with that.
from precise-ui.
Related Issues (20)
- Fix spacing on icons for mobile button mode
- Add possibility remove close button on Notification components.
- [Table] Not possible to sort the custom column
- Console Warning
- TextField input UI inconsistent when scrolling + bad word break
- FileUpload of fresh photos from iPhone/IPad not working in sequence
- Change modal border color HOT 1
- Incorrect behavior inside Tab component while switching screen size between mobile and desktop view
- DateField: selected date isn't marked as selected when using with "Form"
- The error in the Form component example in the kitchensink HOT 1
- Grouped elements in Table aren't sorted properly
- AutocompleteTagBuilder component does not have functional `onBlur` and `onFocus` props
- `GridCell` `overflow` prop
- RadioButton component becomes egg shape
- IconLink without label is not coloured as an active action (i.e. ui0)
- AccordionTable triggers onChange twice when clicking the expand arrow
- pass onPageSize changed event from the PaginationBar component to the Pagination component.
- WCAG: Table has wrong header
- Image does not refresh if `preload` is `true`
- New Feature of SnackBar
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 precise-ui.