olivermt
Announcing SurfaceBootstrap library
Without further ado: GitHub - surface-ui/surface_bootstrap · GitHub
Some TODOs:
- Get it up under https://bootstrap.surface-ui.org and get it linked from main surface docs
- Some utility classes for rows and grids, just need to think a bit more on how to make it oppinionated enough to be useful in saving time but also allowing the insane amounts of permutations you need to do to full flexbox stuff
- Tooltips and popovers coming soon ™
I hope this library will seriously lower the bar for people to start using Surface and be able to pump out pages using the Comic Sans of the internet ![]()
Thanks a dozen to all my sparring partners on the Slack in getting this out: @msaraiva @paulstatezny @Malian and many more.
Open issues for any bugs or feature requests!
Most Liked
olivermt
Small maintenance release 0.1.1.
- Upgraded to bootstrap 5.0.0-beta3. PR #4 - Thanks @joerichsen
- Fix module name nesting in docs PR #3 - Thanks @mbuhot
- Relax Ecto version PR #2 - Thanks @dustinfarris
Coming up in next few days is:
- Total NavBar rework (old api too oppinionated to make sidebars etc and I misunderstood how collapsible should work)
- Accordions and Collapsibles in general
- Toast notifications (that survive live redirects)
olivermt
v0.2.0 released!
-
Migrate to Surface 0.4.1 (atoms not auto-cast anymore), has to be 0.4.1 or above because 0.4.0 swamps with compiler warnings due to a change in LiveView
-
[BREAKING CHANGE] Completely rework NavBar, look at examples to see how to use NavBar. It has been moved to only implement the outer and main components as I was unable to find a proper middleway for all the permutations. This is a BREAKING CHANGE because the old NavBar was naively done and could not support sidebars, and it also did not implement the collapser properly.
-
Added a naive tooltip implementation, injects a with random ID, so it might provoke rerenders.
-
Exposed a hook you can simply use with
:hook={{ "Hook", from: SurfaceBootstrap.Tooltip }}. This requires you to put a unique HTML ID on your component, as this is a requirements for hooks to fire.








