This is Formilk
Tags: webcomponents, react, preact, html
Published: 2022-04-12 04:08:32

---
title: This is Formilk
published: true
description: Agnostically friendly and customizable components
tags: webcomponents, react, preact, html
series: AtomicoJs projects
cover_image: https://github.com/atomicojs/formilk/blob/master/assets/cover.png?raw=true
---

[Formilk](https://formilk.netlify.app/) is a system of configurable webcomponents created by [UpperCod](https://twitter.com/uppercod), with formilk you can speed up your design system creation process, associating your design tokens to formilk using custom-properties.

## motivations

Formilk was born from the need to:

1.  be subtly aesthetic.
2.  be easily configurable.
3.  be agnostically friendly.

### Subtly aesthetic

![Formilk](https://raw.githubusercontent.com/atomicojs/formilk/master/assets/example-compress.svg)

## Easily configurable

All formilk tokens can be managed at root level, for this the following css rule would be enough to modify the color of the buttons

```css
:root{
    --fm--color-button-60: black;
    --fm--color-button-10: white;
}
```

![Formilk](https://raw.githubusercontent.com/atomicojs/formilk/master/assets/example-root-custom-property.svg)

But there is something much better in Formilk, the tokens are related by group and inheritance, but that is for another article.

## Agnostically friendly

This is the best part of Formilk, well the previous one was already good, but this is amazing (or so I think).

Formilk is created with [Atomico JS](http://github.com/atomicojs/atomico) and it is agnostically friendly, this means that at the level of webcomponents Atomico gives additional support to libraries like React and Preact, in the following example you will see the use of React TSX + Formilk


{% embed https://stackblitz.com/edit/formilk-example-contact-app-react?file=src/App.tsx&view=preview  %}
 
This is Agnostic friendly, Formilk is the example of how you can create components for React without using React and best of all your components will work in any library or HTML

## Message

All this [Formilk](https://formilk.netlify.app/) magic is thanks to [Atomico JS](http://github.com/atomicojs/atomico) and its tools:

1. [@atomico/desing-tokens](https://github.com/atomicojs/design-tokens): library to sustainably apply layout tokens to your webcomponent system.
2. [@atomico/hooks](https://atomico.gitbook.io/doc/atomico/atomico-hooks): more than 40 utilities like hooks
3. [@atomico/exports](https://atomico.gitbook.io/doc/atomico/introduction): exports all of Formilk, compiling, generating the exports, types, and wrappers for React and Preact.
4. [@atomico/react](https://atomico.gitbook.io/doc/atomico/atomico-react): extend the webcomponents to react and preact respecting all the rules defined in your component created with Atomico.


👐 I invite you to join the Atomicojs community and learn more about our projects! 👇

<table> 
<tr>
<td>


<a href="https://twitter.com/atomicojs"><img src="https://raw.githubusercontent.com/atomicojs/docs/master/.gitbook/assets/twitter.svg"/></a>

</td>
<td>


<a href="https://discord.gg/7z3rNhmkNE"><img src="https://raw.githubusercontent.com/atomicojs/docs/master/.gitbook/assets/discord.svg"/></a>

</td>
<td>

<a href="https://formilk.netlify.app/"><img src="https://raw.githubusercontent.com/atomicojs/docs/master/.gitbook/assets/doc-1.svg"/></a>

</td>
</tr>
<tr>
<td colspan="3">

<a href="https://github.com/atomicojs/formilk"><img src="https://raw.githubusercontent.com/atomicojs/atomico/brand/link-to-github.svg"/></a>

</td>
</tr>
</table>