olivermt

olivermt

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 :slight_smile:

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!

Showing Posts 1 to 7

the_wildgoose

the_wildgoose

This looks fantastic! Huge fan of Surface! (If anyone hasn’t tried it, then give it a whirl!)

One thought: I had a colleague struggle with integrating a modal popup and I took a glance. It seems like at least the modal can be emulated fairly simply without the bootstrap JS? It appears to just hide/show the modal div + cover the whole page with an inserted overlay. I wonder if there is another route to integration here without the hooks? Just a thought?

olivermt

olivermt OP

Hey!
Thanks for the feedback.

I spent almost two full days trying to make it work well without the hook approach, but the Bootstrap CSS just isnt built in a way that it works nice.

For example to get the proper coloring on the backdrop (the darker shade thing) you need to add a class to the body etc. What you could do is just follow the tutorial on how to make a Modal that is included in Liveview itself and then combine that with a Card or similar to get something more or less visually the same.

I do have a long term plan to release a bootstrap-looking “NativeModal” component, but I want to get breadcrumbs, my navbar redesign and the accordions / collapsibles in place first.

olivermt

olivermt OP

Also @the_wildgoose it would be tremendously helpful if your colleague could make an issue at GitHub - surface-ui/surface_bootstrap · GitHub with what he felt was hard / not good about it so I can track feedback :slight_smile:

olivermt

olivermt OP

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

olivermt OP

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.

olivermt

olivermt OP

v0.2.3 (2021-06-22) released!

  • Upgrade to surface 0.5.0 (thank you @escobera (github username for PR)).
  • Add more fine grained sizing and color styling to Icon.
  • Add values prop to Button that passes on to :values directive.
  • Add opts prop to Button to pass on as attrs on <button>
olivermt

olivermt OP

v0.2.4 (2021-06-23)

  • Yank 0.2.3 due to bug in Button aria properties
  • Fix said bug

v0.2.5 (2021-06-23)

  • Add Breadcrumb
— All posts loaded —

Where Next? Top

Trending in Announcing Top

wojtekmach
Hey everyone! Req is an HTTP client for Elixir that I’ve been working on for quite some time. There is already a lot of HTTP clients out...
New
handnot2
Samly can be used to enable SAML 2.0 Single Sign On in a Plug/Phoenix application. This library uses Erlang esaml to provide plug enabl...
New
woylie
Flop is an Elixir library that applies filtering, ordering and pagination parameters to your Ecto queries. offset-based pagination with...
New
MRdotB
I needed to reuse React components from my Chrome extension in my Phoenix/LiveView backend. I noticed that for Svelte/Vue, there are live...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
fuelen
Hi all! I want to present a small library which provides a mix task for generating an Entity-Relationship Diagram for Ecto schemas. You...
New

Other Trending Topics Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
AstonJ
This showed up on my feed.. anyone heard of it? Just hype? Ox Alpha is a reasoning model designed for coding, sustained ag...
New
sergio
It’s not that it’s vocabulary is too advanced. It’s something worse. I get lost trying to follow even a paragraph written by Claude. It’...
New
sorenone
Today we’re releasing Oban for Python. Not an Oban client in Python. Not a pythonx wrapper embedded in Elixir. Nope, it’s a fully operati...
New
akoutmos
@hugobarauna, Dr. Dimitrios Koutmos (my brother) and I (Alex Koutmos) have been hard at work on writing a book on how you can use Elixir ...
New
pferriby
Introductory paragraph I’ll be looking for a keen junior or someone that has a couple of years experience in the real world (so you’ve be...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews