Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FloatingActionButton] Support horizontal and vertical speed dials #2851

Closed
James-Parsons opened this issue Jan 9, 2016 · 30 comments
Closed
Labels
component: Fab The React component. new feature New feature or request

Comments

@James-Parsons
Copy link

Scroll down a little here, and you'll see a speed dial pattern. It would be nice if Material UI could support both a vertical and horizontal speed dial on it's Floating Action Buttons.

@alitaheri alitaheri added new feature New feature or request design: material This is about Material Design, please involve a visual or UX designer in the process labels Jan 9, 2016
@newoga newoga changed the title Support Horizontal and Vertical "Seepdials" on Floating Action Buttons [FloatingActionButton] Support horizontal and vertical speed dials Jan 9, 2016
@markshust
Copy link
Contributor

@igorpreston
Copy link

Anyone interested in PR?

@darkostanimirovic
Copy link

darkostanimirovic commented Jul 17, 2016

I'd love to see this. It is relatively common for material ui projects. (Would be especially useful for us designers prototyping designs to clients!)

@mbrookes
Copy link
Member

@dltmd6262 To answer your question in #2002, I would suggest to make a separate component to extend FAB rather than bloating FAB with this feature.

@dltmd6262
Copy link

Great! If there's someone already working on this I'd love to help. In the meantime I'll be working on this on my own :]

@antoinerousseau
Copy link
Contributor

antoinerousseau commented Aug 1, 2016

I made one for my app, if you are interested I can make it generic and share it :)
https://gist.github.com/antoinerousseau/349a42337f7763afaf1a4abeffc22b94

@antoinerousseau
Copy link
Contributor

Here is a bad gif (in reality it's very smooth):

gif

@dltmd6262
Copy link

Looks like work done??

@oliviertassinari
Copy link
Member

@antoinerousseau That looks great! Do you want to contribute it back here? I'm willing too help if needed.

@antoinerousseau
Copy link
Contributor

@oliviertassinari glad you are interested, so I'll prepare a PR asap then :)

@oliviertassinari
Copy link
Member

oliviertassinari commented Aug 6, 2016

@antoinerousseau Awesome.
I see that you have been using a CSS approach to style the component. It might be better to start from the next branch in that case. We already have some FloatingActionButtons:

capture d ecran 2016-08-06 a 13 09 59

@antoinerousseau
Copy link
Contributor

Yeah I was about to ask about css, so you guys are going to switch from inline styles to css? I read that performances are better, is that why? Is there a thread about the next branch and its css use? Or should I just check the 0.16 milestone? Also did you checkout http://react-toolbox.com/ ?

@nathanmarks
Copy link
Member

nathanmarks commented Aug 6, 2016

@antoinerousseau @oliviertassinari

Transition groups helping to choreograph multiple elements transitioning in a material design compliant fashion would be a nice feature to abstract and make available for other uses too 👍

@oliviertassinari
Copy link
Member

oliviertassinari commented Aug 7, 2016

so you guys are going to switch from inline styles to css?

Yes, we are going to use the CSS styling capability of the browser instead of the inline style.
Still, we are keeping the styling-in-JS approach.

Also did you checkout http://react-toolbox.com/ ?

I'm well aware of this project. What's your point?
Are we going to use CSS module? No.
Why? I could sum-up it in one citation from the creator of CSS modules:

JavaScript is a much, much better programming language than Sass

https://twitter.com/markdalgleish/status/756778026604466176

@nathanmarks Has developed an original and awesome solution for our needs: stylishly.

I read that performances are better, is that why?

I'm gonna give my point of view, @nathanmarks may not share it.
I won't say that our reason n°1 for the migration is solving the performance issue.
We could have done it with the same cache tradeoff that everybody is doing when writing CSS.
For me, the reason n°1 for the migration is the style capabilities, like server side media query, that are not available with inline style.

Actually, the CSS approach may perform a bit less based on the CSSDOM algorithm:
necolas/react-native-web#110 (comment). But I think that it's a tradeoff / risk worth taking.

Is there a thread about the next branch and its css use? Or should I just check the 0.16 milestone?

Good question, there isn't much information about it. @nathanmarks do you think it worth writing a documentation about it? I'm wondering if this wouldn't address @rosskevin's issue regarding not knwowing about what we are working on and how he could help.
Well, that could be a simple link to waffle.io in the ROADMAP.md.

@nathanmarks
Copy link
Member

@oliviertassinari Yes, it's about time that there's something more written about next.

@antoinerousseau
Copy link
Contributor

thanks @oliviertassinari for all these precisions. and stylishly looks promising! i'm glad you guys are committed on pushing this project forward into modernity :)

about react-toolbox, I mentioned it because I saw that it has more or less the same goal than your lib, but I didn't test it (and I'm not planning on rewriting my whole project anyway), but I saw that they are using CSS modules so I was wondering what were you thoughts about their code, and what alternative you are taking to make some big refactoring more relevant than switching to contributing to their project 😅

@antoinerousseau
Copy link
Contributor

@nathanmarks
Copy link
Member

@antoinerousseau We're confident that the next major changes are going to bring a lot more stability and consistency to the library (along with easier to override css, better performance and a cleaner API surface). There's a big test feature coming which is going to help plug a lot of holes -- automated cross-browser visual regression testing.

@nathanmarks
Copy link
Member

@antoinerousseau Fixing the issues with the library has been a goal of mine since the start of this year when I began contributing, and we're well underway.

@markshust
Copy link
Contributor

Just wanted to throw in my 2c, even with some small performance issues I've been loving material-ui (I've been avoiding low-end devices though). I just think it's important to maintain a backwards-compatibility of some sort though with this style update, as the upgrade from 0.14 to 0.15 was indeed a bit painful. I like the direction this library is moving though 👍

@antoinerousseau
Copy link
Contributor

Thanks for these infos! Looking forward to playing with the new version then!

@johanatan
Copy link

@antoinerousseau Did you make your speed dial component available anywhere? Merged into this project?

@antoinerousseau
Copy link
Contributor

@johanatan I was waiting for a more stable next version with official announcement, to write this component using stylishly instead of inline styles

I see that @oliviertassinari is preparing the 0.16, is that going to include the rewrite?
I'll play with it when out of RC since I've got some other stuff to do for now :)

@oliviertassinari
Copy link
Member

oliviertassinari commented Sep 27, 2016

@antoinerousseau The v0.16.0 release isn't going to include the rewrite. It's a regular release with some breaking changes and a lot of bug fixes.

@nathanmarks Has made some great progress on the next branch. I'm confident with the direction it's taking. I will soon start to migrate my app to the rewrote components.
We also plan to quickly stop supporting components already migrated to the next branch.

@antoinerousseau
Copy link
Contributor

Sounds great! I'll give it a try asap then (i.e. hopefully in a few days) :)

@jampy
Copy link

jampy commented Nov 25, 2016

So, the speed dial component won't be released anytime soon?

@jampy
Copy link

jampy commented Nov 25, 2016

@antoinerousseau the links to your SpeedDial.js / SpeedDial.css don't work anymore - could you please re-release these files somewhere? Thanks.

@antoinerousseau
Copy link
Contributor

antoinerousseau commented Nov 25, 2016

Sure! here you go:
https://gist.github.com/antoinerousseau/349a42337f7763afaf1a4abeffc22b94

You can also see it in action if you register at https://beta.tribeez.net

@jampy
Copy link

jampy commented Nov 26, 2016

For those interested, I just published my own Speed dial component.

Demo:

Screenshot

Available on NPM: https://www.npmjs.com/package/react-mui-speeddial

Unfortunately I wasn't able to create a demo on WebpackBin since it only allows whitelisted packages it seems...

@oliviertassinari oliviertassinari added v1-alpha and removed design: material This is about Material Design, please involve a visual or UX designer in the process labels Jun 29, 2017
@mbrookes
Copy link
Member

Closed by #10288 (building on #9539)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: Fab The React component. new feature New feature or request
Projects
None yet
Development

No branches or pull requests