tabetalt / kit

The technical implementation of Tabetalt Designsystem, based on Theme UI.
https://kit.tabetalt.no
18 stars 0 forks source link

Splitting up @tabetalt/kit #71

Open simenandre opened 3 years ago

simenandre commented 3 years ago

We should consider splitting the theme configuration into its own package/repository.

Reasoning

Separations of concerns@tabetalt/kit has the potential to be a great addon to Theme UI in terms of components that we build, especially if we focus on making them compliant with Theme UI. Our specific Tabetalt theming should probably be added to its own package and subsequently its own repository. This repository can also hold a fully built brand manual for the company, as there will surely be the need for that in the future.

Consepts we can utilize

Variants are great and can be stylised easy. Many of the current and future components are great for MDX documents, such as <Table />. Styled components can be used for own documentation. Our theme configuration and design system can stay away from the development of @tabetalt/kit and subsequently bring more interest from the FOSS community. All of our components would be stylized with our own theme, @tabetalt/kit components would be stylized with generic configuration.

Storefront conserns

We are in the midst of building an e-commerce SPA application; it would be easier to stylize the components without being already branded with Tabetalt Designsystem. In fact, this fact should make this change more interesting than anything.

Package split

<Logo/> --> @tabetalt/design theme --> @tabetalt/design all other components --> @tabetalt/kit

How?

To make all components compliant with Theme UI styling, we have to base most of our components on <Box/> or other Theme UI components, this is to make use of sx.

Potential issues

It would take time. It will make our documentation that much more important.

This is considered a BREAKING CHANGE and should be left to consider to ensure its the right course of action.

cc: @seacurrent @AnneMatilde

simenandre commented 3 years ago

@seacurrent and @AnneMatilde opinions?

seacurrent commented 3 years ago

This sounds reasonable. What are the implications of doing this?

AnneMatilde commented 3 years ago

I think it sounds like a good idea. Do we have to spend time on this before releasing the MVP? Or can it wait till after?

simenandre commented 3 years ago

This is later, of course. But none-the-less, a feature I'd like to see at some point.