# Simplify element types \(\#3318\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/96f0257fb3dfa5ea1ccc8e82a1f1773fe5122141)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 96f0257fb3dfa5ea1ccc8e82a1f1773fe5122141

Requested commit: 96f0257fb3dfa5ea1ccc8e82a1f1773fe5122141

Commit: 96f0257fb3dfa5ea1ccc8e82a1f1773fe5122141

Tree: 59b182d8e23d8cbaa1c495a7cb872c84080bbaef

Author: Mikayla Maki

Committer: GitHub

## Message

```
Simplify element types (#3318)

This PR does away with the extra type parameters on Div and instead
introduces two wrapper elements, `Stateful` and `Focusable`. All of the
interactivity is stored on `Interactivity` and `InteractiveState`, which
is stored on the base element. The wrappers simply control what methods
are available to call.

Not sure this is fully working, but a smoke test does work.

/cc @as-cii @ConradIrwin 

Release Notes:

- N/A
```

## Parents

- [df64a3c7010cff5054ad4667d70da4dda2cdb550](https://git.cafe/gitcafe/zed/commit/df64a3c7010cff5054ad4667d70da4dda2cdb550?format=markdown)

- [817c6dd49cb141990a3508fe6c07331c404b4f80](https://git.cafe/gitcafe/zed/commit/817c6dd49cb141990a3508fe6c07331c404b4f80?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/96f0257fb3dfa5ea1ccc8e82a1f1773fe5122141?format=markdown)
