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

Add Carousel component #3601

Open
1 task done
stunaz opened this issue Jun 14, 2019 · 9 comments
Open
1 task done

Add Carousel component #3601

stunaz opened this issue Jun 14, 2019 · 9 comments
Labels
new feature New feature or request waiting for 👍 Waiting for upvotes

Comments

@stunaz
Copy link

stunaz commented Jun 14, 2019

  • I have searched the issues of this repository and believe that this is not a duplicate.

Summary 💡

Add a carousel component to display images

Examples 🌈

Motivation 🔦

One of the most asked items in https://material-ui.com/blog/2020-developer-survey-results/#5-how-can-we-improve-material-ui-for-you.

Benchmark

@mschipperheyn
Copy link

AFAIC the best carousel lib is still https://github.com/nolimits4web/Swiper

@mbrookes
Copy link
Member

mbrookes commented Jul 3, 2019

You can make a passable carousel using the mobile stepper (this is a modified version of the docs example):

image

https://codesandbox.io/s/material-demo-gq5rk

(The dots could do with a better colours, but I didn't attempt to restyle them.)

There is also: https://mui.wertarbyte.com/#material-auto-rotating-carousel

@oliviertassinari oliviertassinari changed the title [Carousel] New component Add Carousel component Sep 4, 2020
@tarun1992
Copy link

The carousel component is needed for my Application also. Would be great if it comes up in the next release.

@stunaz
Copy link
Author

stunaz commented Jan 9, 2022

@oliviertassinari How do you prioritize the "waiting for +1", looks like this is the most upvoted for a long time now

@oliviertassinari
Copy link
Member

We display the Carousel as part of MUI X in the roadmap, I propose we transfer this issue to MUI X, so the Core team can focus on what has been making it successful so far:

Screenshot 2022-01-09 at 20 45 38

https://mui.com/discover-more/roadmap/#new-components

cc @mui-org/core @mui-org/x for thoughts. This says nothing about the MIT vs. not-MIT aspect of it, but either about if it should be part of Core or X. I would argue X because 1. design is secondary to a Carousel, 2. it's not fundamental to be part of a design system, 3. there are OSS projects only doing carousel.

@joserodolfofreitas
Copy link
Member

Makes sense to have the component in MUI-X. A carousel is a fairly advanced component, with multiple kinds of user interactions and behaviours, and possibly a high demand for customisation.

+1 on moving the issue to X.

@oliviertassinari oliviertassinari transferred this issue from mui/material-ui Jan 12, 2022
@oliviertassinari oliviertassinari added the new feature New feature or request label Jan 12, 2022
@oliviertassinari
Copy link
Member

oliviertassinari commented Jan 12, 2022

@joserodolfofreitas The things that were making me doubt is that:

  1. It's for landing pages, not for an enterprise app, e.g. it's not in Kendo-UI. But it's not a design component either.
  2. It's frequently requested, but so is the date picker, and we are moving it to X:

It challenges the difference between MUI Core and MUI X. For sure the difference is not about which team has more bandwidth as it's a bull**it argument, have people change teams, and problem solved. So far, the rationale was:

  1. Start by adding everything into MUI Core. So by default, everything is inside one MIT npm package.
  2. If developers tend to install third-party libraries for it => leaning more toward MUI X.
    It means that they usually don't build it from scratch because it's hard, and they would rather have the cost (dev time) of customization and potential design inconsistency. There Material Design is not the selling argument like it's for MUI Core. People pick react-slick regardless.
  3. If's usually not part of the design systems (solving a design problem) => leaning more toward MUI X.
    This is fundamentally different in the notion of what competencies correlate with success. In MUI Core, success was historically mostly about solving visual design problems. 4 years ago, any Material Design library would become a leading UI library, as long as has the best execution in its category (Vue, React, Bootstrap, etc) or there sooner. in MUI X, it's a lot more about UX challenges.
  4. It's used to build internal apps and rich apps, more than landing pages => leaning more toward MUI X. Simply because this usually correlates with 2 and 3.
  5. If there are no MIT alternatives => leaning more toward MUI X. We can sell enterprise licenses when there are no MIT alternatives. MUI X has the infrastructure for it, MUI Core doesn't.

We can keep iterating on it, added to https://mui-org.notion.site/MUI-Core-vs-MUI-X-b96e01a6239f423e83d01efeaad019fb

@oliviertassinari oliviertassinari added the waiting for 👍 Waiting for upvotes label Jan 12, 2022
@joserodolfofreitas
Copy link
Member

joserodolfofreitas commented Jan 12, 2022

I see your points, it's indeed not an easy call.
I admit my considerations were mostly based on what is the item 3 of the above list. And by "high demand for customisation" I didn't mean in a sense of having bandwidth to work on it, but instead that the component is used in various different use cases. Because regarding the nature of the apps using carousel, I see variants everywhere, not only on landing pages but also: on a social media app's timeline, on an e-commerce upselling widget, on a chat's image viewer, on a HR management software, on a rich data driven dashboard, or even on a data analytics tool, and etc.

edit: Landing pages is the majority though, we can't shake that.

@flying-sheep
Copy link

There’s also this project: https://github.com/nanxiaobei/react-slide-routes, which implements a popular use case for a carousel-like component.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature New feature or request waiting for 👍 Waiting for upvotes
Projects
None yet
Development

No branches or pull requests

7 participants