A set of simple Surface components based on Bulma.
Documentation and live examples can be found at http://surface-demo.msaraiva.io/uicomponents.
Note: This is not a full-featured suite of components yet. Most of the functionality we have so far is based on the requirements we had to build Surface's website.
- Button - The classic button, in different colors, sizes, and states. (Thanks Tiago Morais).
- Table - The inevitable HTML table.
- Tabs - A simple horizontal navigation tabs component.
- Form inputs Most of the Form inputs that exist in Surface are now available.
- Panel component
- Navbar
- Dialog (Soon!)
- Card (Thanks Justin M Morgan)
- Dropdown (Thanks Justin M Morgan)
- Message (Thanks Justin M Morgan)
More components will be added soon. Contributions are welcome!
<Table data={{ album <- @albums }} rowClass={{ &rowClass/2 }} bordered>
<Column label="Album">
{{ album.name }}
</Column>
<Column label="Released">
{{ album.released }}
</Column>
<Column label="Artist">
<a href="#">{{ album.artist }}</a>
</Column>
</Table>
Add surface_bulma
to the list of dependencies in mix.exs
:
def deps do
[
...
{:surface_bulma, "~> 0.4.0"}
]
end
Add the following line to your config/config.exs
:
...
import_config "../deps/surface_bulma/config/contexts.exs"
...
To use bulma's CSS styles, choose one of the following methods:
Add the following line to your layout_view.ex
:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.8.0/css/bulma.min.css" />
Or download the .css
file and manually add it to your priv/static/css
folder.
In this case, add the following line to your layout_view.ex
:
<link rel="stylesheet" href={{ Routes.static_path(@conn, "/css/bulma.min.css") }} />
Add bulma
to the list of dependencies in assets/package.json
:
"dependencies": {
...
"bulma": "0.8.0"
}
Copyright (c) 2020, Marlus Saraiva.
Surface source code is licensed under the MIT License.