# Atomic Design proposal for Open-SCD

Date: 2023-05-24

## Status

Open

## Context
If we want to build robust reusable components, we should make use of the Atomic Design principal. 
This design principal consists of multiple levels of components:
* Atoms
* Molecules
* Organisms
* Templates
* Page

A molecule is a group of atoms together. An organism is a group of molecules together. etc. etc.

#### Example

We have a textfield component (Atom) called @openscd/oscd-textfield.
We also have a button component (Atom) @openscd/oscd-button.

We now can create a search component (Molecule) called @openscd/oscd-search.


### Background
Related links:
- [Atomic Web Design](https://bradfrost.com/blog/post/atomic-web-design/)

## Decision
T.B.D.


## Consequences
This decision will mean that the current OSCD components might need some extra 
work to split up components by type (Atoms/Molecules/Organisms).
Also, we might introduce more overhead if we split all the atoms and molecules up by repository.
  • No labels