# ui: Refactor the Callout component \(\#32684\) · gitcafe/zed

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

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

Visibility: public

Requested revision: 29f3e62850f6bb63c0a4de48a4cb0a6f0e1e453b

Requested commit: 29f3e62850f6bb63c0a4de48a4cb0a6f0e1e453b

Commit: 29f3e62850f6bb63c0a4de48a4cb0a6f0e1e453b

Tree: ddabb80ecca4da6d9aaff9d91584612aac9936dc

Author: Danilo Leal

Committer: GitHub

## Message

```
ui: Refactor the Callout component (#32684)

What motivated me to refactor this component was the fact that I wanted
a new variant to allow having _two CTAs_ instead of just one. This
variant should work with either a single or multiline description. But,
given we were using a `Callout::single_line` and `Callout::multi_line`
API, I'd then need to have both `Callout::single_line_one_button` and
`Callout::single_line_two_buttons` type of variants, which just points
to a combinatorial problem.

With this refactor, the Callout now follows the same structure of the
Banner component, where it's all `Callout::new` and every method is
passed as if they were props in a React component, allowing for a more
flexible design where you can customize button styles. Also made it
slightly more robust for wrapping and removed the top border as that
should be defined by the place it is being used in.

Release Notes:

- N/A
```

## Parents

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

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